[python] Statické metody v Pythonu

Jan Janech devel na atlas.sk
Středa Listopad 8 19:22:06 CET 2006


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
> 
> A jak se liší metoda bez classmethod a medota z classmethod? A nebo je 
> classmethod jen pro přehlednost, když to prostě chci zdůraznit a jinak 
> žádný jiný význam nemá?
> 
> Miloslav Ponkrác
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
> 
> 
> 
> 
> 



Další informace o konferenci Python