如果我已经通过了一个方法如下:
my_function(MyObject.method)
我可以MyObject
从内部访问my_function
,以便我可以打电话MyObject.some_other_method()
吗?
请区分是否可以在类级别和实例级别执行此操作。
我绝对不建议这样做,但经过一番探索后,您可以访问函数绑定到的对象:
class C:
def __init__(self, _id):
self._id = _id
def a(self):
pass
def b(self):
print("b: {}".format(self._id))
c = C('test')
# you can access the object the function is bound to with __self__
c.a.__self__.b()
def my_function(fn):
fn.__self__.b()
my_function(c.a) # "b: test"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句