在Python3中,我有一个类列表,每个类都有一个列表。我很难更新那些名单。因此:
class Item():
newPrice = 0
prices = [0]
def __init__(self, _prices):
self.prices = _prices
items = [Item([10]), Item([20]), Item([30])]
for item in items:
item.newPrice = SomeFunction()
item.prices.append(item.newPrice)
函数SomeFunction()
是一个复杂的函数,它为每个Item
实例检索不同的值。你知道吗
出于某种原因,items
列表中的每个Item
实例都具有相同的prices
值,该列表包含每个Item
实例的newPrice
值。我希望这足够清楚。你知道吗
我错过了什么?你知道吗
您应该将价格定义为实例属性,而不是类属性,因为类属性在所有实例之间共享:
相关问题 更多 >
编程相关推荐