¿Bug en módulo weakref?
Pepe Aracil
pepe en diselpro.com
Jue Mar 16 15:01:18 CET 2006
He detectado un comportamiento extraño en el módulo weakref.
Resulta que no puedo hacer que un weakref apunte a un "bound method"
directamente, pero si creo una variable que apunto al mismo "bound
method" entonces funciona...
Ejemplo:
>>> import weakref
>>> class C:
... def method(self):
... print "Metodo de %s" % self
...
>>> c=C()
>>> c.method()
Metodo de <__main__.C instance at 0x402125ac>
>>> r=weakref.ref(c.method)
>>> r
<weakref at 0x40211d4c; dead>
>>> # ¡¡ ¿Dead? !!
>>> cm=c.method
>>> r=weakref.ref(cm)
>>> r
<weakref at 0x40211d24; to 'instancemethod' at 0x401dc9b4 (method)>
>>> # ¡¡ Ahora si que va !! ¡¡esto es muy raro!!
Más información sobre la lista de distribución Python-es