[Python-de] Klassenmethoden
Diez B. Roggisch
deets at web.de
Fr Jul 19 18:01:47 CEST 2013
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
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://mail.python.org/pipermail/python-de/attachments/20130719/89364c5e/attachment.html>
Mehr Informationen über die Mailingliste python-de