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

Odpovedet emailem