[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