[Python-de] 'Pointer' auf eine @staticmethod-function
Diez B. Roggisch
deets at web.de
Mo Jul 7 16:33:21 CEST 2008
> Leider geht das nicht (habs probiert)!
import time
class A:
pass
A.time = time.time
print A.time()
Genau das geht bei mir, python2.5
> Im Skript funktioniert ja auch noch das erste 'print A.time()'.
> Erst nachdem 'A.time = B.time' zugewiesen wurde gibt's den Fehler und
> das wo B.time als staticmethod gekennzeichnet ist!
Achso, das wurde aus deiner Beschreibung nicht ganz klar.
Es scheint so zu sein dass das, was B.time zurueckgibt das Descriptor-protocol
unterstuetzt - und dabei dann ein "normaler" methoden-descriptor wird, statt
weiterhin staticmethod zu sein.
Was geht ist natuerilch
A.time = staticmethod(B.time)
Diez
Mehr Informationen über die Mailingliste python-de