Python——类的实例化

在C1中实例化RefreshLabels,并将对象传递给C2和C3,当在C2中改变对象某一变量时,在C3中也可以得到该变量的最新值。

class RefreshLabels:
	def __init__(self):
		self.rect_labels = []

class C1:
	def __init__(self):
		self.c2 = C2()
		self.c3 = C3()
		self.refreshLabels = RefreshLabels()
		self.c2.refreshLabels = self.refreshLabels
		self.c3.refreshLabels = self.refreshLabels

class C2:
	def __init__(self):
		self.refreshLabels = None

	def fun1(self):
		self.refreshLabels.rect_labels.append([200, 100])
		print(self.refreshLabels.rect_labels)

class C3:
	def __init__(self):
		self.refreshLabels = None

	def fun1(self):
		print(self.refreshLabels.rect_labels)

c1 = C1()
c1.c2.fun1()
c1.c2.fun1()
c1.c3.fun1()

输出结果:
[[200, 100]]
[[200, 100], [200, 100]]
[[200, 100], [200, 100]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值