Mnohokrát děkuji Chápu to tedy správně, že:
1) Normální metoda dostane jako první parametr instanci třídy. 2) Classmethod dostane jako první parametr pouze třídu, tedy snad pouze nějaký odkaz na něco souvisejícího s názvem třídy. 3) Statická metoda nedostane jako první parametr nic (tedy kromě toho co si explicitně zvolím jako paramtry). Miloslav Ponkrác Jan Janech napsal(a): > In [1]: class aaa: > ...: @staticmethod > ...: def stat(): # staticka metoda > ...: print "Staticka" > ...: def inst(self): # metoda instancie > ...: print "Metoda instancie, dostala", self, "ako parameter" > ...: @classmethod > ...: def clsm(cls): # metoda triedy > ...: print "Metoda triedy, dostala", cls, "ako parameter" > ...: > > In [2]: aaa.stat() > Staticka > > In [3]: aaa().inst() > Metoda instancie, dostala <__main__.aaa instance at 0xb78a49ac> ako > parameter > > In [4]: aaa.clsm() > Metoda triedy, dostala __main__.aaa ako parameter > > > superman wrote: > >>>V classmethod se oproti staticmethod předává navíc jako první parametr >>>metody třída. >>>Jan Matejka _______________________________________________ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
