我有一个数据类,只有一个字段price。 我引用了另一个类存储中的price字段。 该如何做,使商店看到修改价格? 下面是代码中的情况。你知道吗
import numpy as np
class Data:
def __init__(self):
self.price=np.array([1,2,3])
def increasePrice(self,increase):
self.price=self.price*increase
class Store:
def __init__(self):
self.data=Data()
self.price=self.data.price
def updateData(self):
self.data.increasePrice(2)
print self.data.price #print [2,3,6]
print self.price #print [1,2,3]
我发现唯一的办法就是重新参考价格。你知道吗
class Store:
....
def updateData(self):
self.data.increasePrice(2)
self.price=self.data.price #re-referencing price
print self.data.price #print [2,3,6]
print self.price #print [2,3,6]
但是我想要一个更“自动”的方式来保持字段同步。 我是python新手,对范围规则不太清楚。 谢谢你的帮助。你知道吗
这个问题最简单的解决方法是不要在
Store
实例中复制price
,而只是在任何地方使用self.data.price
。你知道吗如果出于某种原因这不是一个选项,您可以定义一个属性:
这样,
Store
实例的data
属性将始终返回self.data.price
的当前值。你知道吗相关问题 更多 >
编程相关推荐