def isbound(method):
return method.im_self is not None
def instance(bounded_method):
return bounded_method.im_self
通过从类中检索用户定义的函数对象来创建用户定义的方法对象时,其im_self
属性为,None
并且该方法对象被称为未绑定。当通过某个类的实例之一从类中检索用户定义的函数对象而创建一个对象时,其im_self
属性为该实例,并且该方法对象称为绑定对象。无论哪种情况,新方法的im_class
属性都是从中进行检索的类,而其im_func
属性是原始函数对象。
在Python 2.6和3.0中:
实例方法对象具有该对象的新属性和组成该方法的功能;的新同义词im_self
是__self__
,im_func
也可以作为__func__
。Python 2.6仍支持旧名称,但3.0中已不再使用。