[python] Statické metody v Pythonu
Roman Miklos
RMiklos na pss.sk
Středa Listopad 8 09:18:45 CET 2006
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" <matejka na cat.cz>
Sent by: python-bounces na py.cz
07.11.2006 20:15
Please respond to
Konference PyCZ <python na py.cz>
To
"'Konference PyCZ'" <python na py.cz>
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: python-bounces na py.cz [mailto:python-bounces na py.cz] 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
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
_______________________________________________
Python mailing list
Python na py.cz
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
Další informace o konferenci Python