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

在python中将一个实例同步到不同类的另一个实例,python,object,instance,Python,Object,Instance,我有两节课 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() pri

我有两节课

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

B.B
可以是一个
属性
,其setter使用
a.a
。谢谢@mkrieger1。你这是什么意思。也许是一行代码?喜欢self.b=self.A.A?不,你不能见那个人,比如你的问题是什么?