Given a reference to a method, is there a way to check whether the method is bound to an object or not? Can you also access the instance that it's bound to?
-
From Mark Cidade
-
def isbound(method): return method.im_self is not None def instance(bounded_method): return bounded_method.im_selfWhen a user-defined method object is created by retrieving a user-defined function object from a class, its
im_selfattribute isNoneand the method object is said to be unbound. When one is created by retrieving a user-defined function object from a class via one of its instances, itsim_selfattribute is the instance, and the method object is said to be bound. In either case, the new method'sim_classattribute is the class from which the retrieval takes place, and itsim_funcattribute is the original function object.In Python 2.6 and 3.0:
Instance method objects have new attributes for the object and function comprising the method; the new synonym for
im_selfis__self__, andim_funcis also available as__func__. The old names are still supported in Python 2.6, but are gone in 3.0.From J.F. Sebastian
0 comments:
Post a Comment