是否可以访问绑定绑定方法的对象?
class NorwegianBlue(object):
def hello(self):
print "Well, he's...he's, ah...probably pining for the fjords"
def some_method(self):
pass
thing = NorwegianBlue().some_method
the_instance = ???
thing.im_class.hello(the_instance)
答案 0 :(得分:2)
绑定方法具有__self__
和im_self
属性:
>>> thing = NorwegianBlue().some_method
>>> thing.__self__
<__main__.NorwegianBlue object at 0x100294c50>
>>> thing.im_self
<__main__.NorwegianBlue object at 0x100294c50>
im_self
是旧名称; __self__
是Python 3的名称。
您可能会发现inspect
module documentation有帮助;它包含每个对象类型的属性表。
reference Data Model documentation中更详细地描述了这些属性。