[python] Statické metody v Pythonu

Petr Prikryl PrikrylP na skil.cz
Středa Listopad 8 11:45:51 CET 2006


Stejně je ale otázka, jestli opravdu chci používat
statické metody třídy. V podstatě jsou elegantní jen
v případě, kdy používají proměnné stejné třídy. 
A zavádění proměnných třídy v Pythonu asi taky 
není moc časté.

Odhaduji, že požadavek na použití statické metody
třídy může být zlozvyk z Javy, kde to jinak nejde.
V jazycích, které to umožňují, je lepší zavést
pro zvláštní skupinu funkcí oddělený prostor jmen.
V Pythonu se to dělá založením souboru-modulu.
Zápis pak vypadá úplně stejně. 

Třída, která definuje jen statické funkce je vlastně
jen oklikou zavedený modul definující prostor jmen,
který je určen identifikátorem třídy.

pepr

radek
> samozrejme, ze to jde (i bez dekoratoru ;)
> class trida:
>    def static(klass,i):
>        print i
>    static=classmethod(static) # tohle je misto dekoratoru

> superman
> > Nevíte, jak udělat statickou metody v Pythonu, myslím 
> > metodu, které není vázána k instanci, tedy self, 
> > ale jen ke třídě. [...]


Další informace o konferenci Python