[python] Přetěžování metod v Pythonu

David Michal dmichal na altien.com
Pátek Srpen 29 11:22:53 CEST 2008


Python nepodporuje pretezovani (overloading) metod stejne jako C++ nebo Java. Ale podporuje keywords argumenty.
Takze misto napr.:
def a(x):
    print x
    
def a(x,y):
    print x + y
    
a(1)
a(1,1)
(Coz je nefunkcni priklad, ale myslim ze podobne sis to nejak predstavoval.)

Pouzijeme:
def a(x, *args):
    for i in args:
        x = x + i
    print x
    
a(1)
a(1,1)

Co ovsem python podporuje je pretezovani operatoru, viz: http://docs.python.org/ref/specialnames.html

Ale to uz musi vysvetlit nekdo jinej.

Dokazal by nekdo vysvetlit, jak pouzit pretezovani operatoru?
Diky,
David

> -----Original Message-----
> From: python-bounces na py.cz [mailto:python-bounces na py.cz] On Behalf Of
> pydevil na gmail.com
> Sent: Friday, August 29, 2008 9:22 AM
> To: python na 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? =)



Další informace o konferenci Python