variable method python class methods

method - python static variable



¿Cómo encontrar una instancia de un método enlazado en Python? (4)

Al iniciar Python 2.6 puede usar el atributo especial __self__ :

>>> a.some.__self__ is a True

im_self se im_self gradualmente en py3k.

Para más detalles, consulte el módulo de inspect en la Biblioteca estándar de Python.

>>> class A(object): ... def some(self): ... pass ... >>> a=A() >>> a.some <bound method A.some of <__main__.A object at 0x7f0d6fb9c090>>

IOW, necesito tener acceso a "a" después de haber sido entregado solamente "a.some".


Intenta seguir el código y mira, si te ayuda:

a.some.im_self


Quieres algo como esto, supongo:

>>> a = A() >>> m = a.some >>> another_obj = m.im_self >>> another_obj <__main__.A object at 0x0000000002818320>

im_self es el objeto de instancia de clase.


>>> class A(object): ... def some(self): ... pass ... >>> a = A() >>> a <__main__.A object at 0x7fa9b965f410> >>> a.some <bound method A.some of <__main__.A object at 0x7fa9b965f410>> >>> dir(a.some) [''__call__'', ''__class__'', ''__cmp__'', ''__delattr__'', ''__doc__'', ''__format__'', ''__func__'', ''__get__'', ''__getattribute__'', ''__hash__'', ''__init__'', ''__new__'', ''__reduce__'', ''__reduce_ex__'', ''__repr__'', ''__self__'', ''__setattr__'', ''__sizeof__'', ''__str__'', ''__subclasshook__'', ''im_class'', ''im_func'', ''im_self''] >>> a.some.im_self <__main__.A object at 0x7fa9b965f410>