To je zaujimave o dekoratoroch som nic nevedel, Je to az do verzie 2.4?
Predtym (vo verziich pred 2.4) sa to robilo asi takto:
>The question is: How can I implement a static method in python??
You can't.
But, a typical organization is to put one class (or a few closely
related classes) into one file (aka one "module"). Put what you
would have as a static method, as a "global" function in that module
instead. It's not really global; it's in the module's scope, so it's
really just as good as a static method. You can even make it
"private" by starting its name with an underscore (names which start
with an underscore are not normally imported by other modules).
to je teda asi toto
--- module s ---
# module s
def staticM(pp):
print pp*2
class s(object):
def M(pp):
print pp*2
--- koniec modulu ---
--- program ---
import s;
s.staticM("nazdar ")
--- koniec programu ---
"Jan Matejka" <[EMAIL PROTECTED]>
Sent by: [EMAIL PROTECTED]
07.11.2006 20:15
Please respond to
Konference PyCZ <[email protected]>
To
"'Konference PyCZ'" <[email protected]>
cc
Subject
Re: [python] Statické metody v Pythonu
s použitím dekorátoru
class S(object):
@staticmethod
def staticM(pp):
print pp*2
S.staticM("nazdar ")
více:
http://www.ddj.com/184406073
Jan Matějka
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
> Behalf Of superman
> Sent: Tuesday, November 07, 2006 7:59 PM
> To: Konference PyCZ
> Subject: [python] Statické metody v Pythonu
>
> 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ě.
>
> Zkoušel jsem:
>
> class trida:
>
> def static(i):
> print i
>
>
> trida.static(3)
>
> A dostal jsem chybové hlášení, že se Pythonu nelíbí, že
> předávám číslo a ne instanci. Určitě to nějak jde, ale po
> pokusu někde se to dočíst to vzdávám. Nevíte jak na to?
> _______________________________________________
> Python mailing list
> [email protected]
> http://www.py.cz/mailman/listinfo/python
>
_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python
Mgr. Ing. Roman MIKLÓŠ
Prvá stavebná sporiteľňa a.s.
Bajkalská 30, P. O. Box 48
829 48 Bratislava 25
Tel.: +421/ 2 / 582 31 174
Fax: +421/ 2 / 582 31 109
_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python