在python中将一个实例同步到不同类的另一个实例



我有两个类

class A():
def __init__(self):
self.a = 1
class B():
def __init__(self):
self.b = 2
self.A = A()
self.A.a = self.b

一个类包含另一个作为实例(也许继承会更好?(。我想同步a实例的一些属性,比如a,包含B实例的一些特性,比如B。所以在这个例子中

B_instance = B()
print(B_instance.A.a)
B_instance.b=3
print(B_instance.A.a)

第一个print语句给出2,第二个我想给出3。但它给出了2,尽管python通过了引用名称。

使用属性的示例。试试这个:

class A():
def __init__(self):
self.a = 1
class B():
def __init__(self):
self.A = A()
self.b = 2
def set_b(self, value):
self._b = value
self.A.a = self._b
def get_b(self):
return self._b
b = property(get_b, set_b)
B_instance = B()
print(B_instance.A.a)
B_instance.b = 3
print(B_instance.A.a)

输出:

2
3