On Jul 19, 2013, at 4:10 PM, Tamer Higazi wrote:

Hallo Frank!


Hier, ich habe dir ein kleines Sample geschrieben:

Frank hat @classmethod schon korrekt verwandt - seine Frage war nicht, wie er eine classmethod (oder staticmethod) macht, sondern wie die mit *anderen* Methoden interagiert. Womit sich also eigentlich dein (und auch so manch anderer Post hier) eruebrigen.



class MeineKlasse:

   Variable = 'Hallo'

   def MeineFunk(ds):
       print 'Hallo %s, ich bin eine statische Methode!' % (ds)
       print MeineKlasse.Variable


   MeineFunk = staticmethod(MeineFunk)


Python 2.4 ist 2004 - also knapp vor 10 Jahren - erschienen. Seit dem benutzt man eigentlich Dekoratoren fuer sowas. Und staticmethod eigentlich so gut wie nie.

Man sieht an deiner eigenen Implementierung, warum:

@classmethod
def MeineFunk(cls, ds):
       print cls.Variable


Womit sogar ueberladung moeglich waere.

Hier zum nachlesen:
http://openbook.galileocomputing.de/python/python_kapitel_12_001.htm

Und das erklaert's - das galileo open book ist ueblicherweise eher als schlecht zu bezeichnen. BlackJack hat mal schoen aufgeschrieben, warum.

http://blog.marc.rintsch.de/2012/11/18/python_openbook.html

Diez