做毕设时遇到一个问题,就是假设现在有 A、B 两个不同的类,需要相互调用,于是我就写了一个 C 类来沟通两者,如下面的代码所示:
class A:
def __init__(self, value, main):
self.main = main
self.value = value
self.output()
def output(self):
print(self.main.b.value)
class B:
def __init__(self, value, main):
self.main = main
self.value = value
self.output()
def output(self):
print(self.main.a.value)
class C:
def __init__(self):
self.a = A(1, self)
self.b = B(2, self)
c = C()
但是这样就有个问题,因为 self.b
在 self.a
之后,所以上面的代码就会报错 AttributeError: 'C' object has no attribute 'b'
。
请问有什么解决办法吗。
1
no1xsyzy 2019-08-06 21:42:42 +08:00
循环引用?泄漏预定
|
2
zhze93 2019-08-06 21:44:07 +08:00
A,B 互相调用,你想调用对方的什么。
|
3
Takamine 2019-08-06 22:33:21 +08:00
为什么我感觉你这是想要多继承呢。
|