在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?不,你不能见那个人,比如你的问题是什么?