class MyClass:
def myMethod(self):
pass
myInstance = MyClass()
methodReference = myInstance.myMethod
现在,你可以得到一个参考myInstance
如果你现在只能访问methodReference
?
class MyClass:
def myMethod(self):
pass
myInstance = MyClass()
methodReference = myInstance.myMethod
现在,你可以得到一个参考myInstance
如果你现在只能访问methodReference
?
methodReference.im_self
并通过类似的道理,为类:
methodReference.im_class
对于这种代码发现应该安装IPython的和使用标签,例如,你的情况myReference + TAB将使:
In [6]: methodReference. methodReference.im_class
methodReference.im_func methodReference.im_self
因此,你不需要担心的事情记住这么多 - 你知道的方法可能是通过函数对象,并从IPython的给它通常是显而易见的什么方法/属性你正在寻找的建议提供。
试试这个:
methodReference.im_self
如果您在使用Python 3:
methodReference.__self__
你可以工作了这一点你自己-看看在dir
输出:
>>> dir(mr)
['__call__', ... '__str__', '__subclasshook__', 'im_class', 'im_func', 'im_self']
该im_*
实例参阅定义属性instance methods
...
它是在定义的类,功能码块,和它被绑定到对象...