我想将一个可调用类分配为另一个类的函数,然后从拥有的函数中引用所有者类:
class DoIt(object):
def __call__(self):
print "%s did it" % self.name
class Doer(object):
def __init__(self, name):
self.name = name
doSomething = DoIt()
doer = Doer("Bob")
doer.doSomething()
在上面的代码中,我希望doSomething()
函数打印“Bob did it”,但是使用这段代码我会得到一个
AttributeError:“DoIt”对象没有属性“名称”
因为 self 引用 DoIt 实例,而不是 Doer 实例。是否可以引用 Doer 实例?