a nechtěl by to někdo sesumírovat (přetěžování versus prekryvaní metod
versus operatoru) a pustit to na wiki? ;-)
vcelku zajímavé téma, které by mohlo být dostupné každému dalšímu bez
dotazů ....
Díky
P.
mtip napsal(a):
Uf to je to pomotany.
ten prvni priklad neni v pythonu pretezovani, ale prekryvani metod
takze to nema s pretezovanim co delat.
K pretezovani operatoru metod (coz je ten druhy priklad to funguje takto:
def metoda (*args, **kwargs):
print args
print kwargs
a ted muzu volat metodu bud s libovolnym poctem parametru:
metoda(1,2,3,4) #kdy se ulozi parametry do list args
nebo:
metoda(a=1,b=2,c=3) #kdy se ulozi parametry do dict kwargs
nebo oboje kombinace
metoda(1,2,c=3,d=4): #kdy se naplni args i kwargs.
Mirek N.
DM> Python nepodporuje pretezovani (overloading) metod stejne
DM> jako C++ nebo Java. Ale podporuje keywords argumenty.
DM> Takze misto napr.:
DM> def a(x):
DM> print x
DM> def a(x,y):
DM> print x + y
DM> a(1)
DM> a(1,1)
DM> (Coz je nefunkcni priklad, ale myslim ze podobne sis to nejak predstavoval.)
DM> Pouzijeme:
DM> def a(x, *args):
DM> for i in args:
DM> x = x + i
DM> print x
DM> a(1)
DM> a(1,1)
DM> Co ovsem python podporuje je pretezovani operatoru, viz:
DM> http://docs.python.org/ref/specialnames.html
DM> Ale to uz musi vysvetlit nekdo jinej.
DM> Dokazal by nekdo vysvetlit, jak pouzit pretezovani operatoru?
DM> Diky,
DM> David
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Friday, August 29, 2008 9:22 AM
To: python@py.cz
Subject: [python] Přetěžování metod v Pythonu
Ahoj,
koukam jestli to Python ma nebo nema ale nevygooglil sem...
Vite nekdo jestli to dovoluje a nebo proc to nema? =)
DM> _______________________________________________
DM> Python mailing list
DM> Python@py.cz
DM> http://www.py.cz/mailman/listinfo/python
_______________________________________________
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python
_______________________________________________
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python