是否存在从属性到属性持有者的引用? 以下是我的意思:
class classA(object):
def __init__(self):
pass
class classB(object):
def __init__(self):
self.a=classA()
def methodB(self):
print "ClassB-s methodB called"
b=classB()
a=b.a
是否可以从a中引用b?我喜欢从a调用methodB。
答案 0 :(得分:1)
不,不是真的。
初始化b.a
时,它会成为对classA
对象的引用:
>>> b.a
<__main__.classA object at 0x7feeb904df10>
要调用该方法,可以将父对象传递给classA
:
>>> class classA(object):
... def __init__(self, parent):
... self.parent = parent
...
... def method(self):
... self.parent.methodB()
...
>>>
>>> class classB(object):
... def __init__(self):
... self.a=classA(self)
...
... def methodB(self):
... print "ClassB-s methodB called"
...
>>> b = classB()
>>> a = b.a
>>> a.method()
ClassB-s methodB called
从那里,您可以访问整个父母。