gpt4 book ai didi

python - 为什么两个类实例似乎共享相同的数据?

转载 作者:行者123 更新时间:2023-11-28 21:26:13 28 4
gpt4 key购买 nike

<分区>

当我遇到一个意想不到的问题时,我正在用 Python 做一些工作。我有一个类和两个变量 x 和 y。 x 和 y 是该类的单独副本,每个副本都有自己的数据。所以我设置 x 等于类并给它一些值,然后对 y 做同样的事情。但是,一旦我尝试使用该数据,我意识到我覆盖了 x 的值。似乎我没有创建该类的两个单独副本来使用,而是创建了对同一类的两个引用。所以这是代码中的一般示例:

x = someClass()
x.set(2, 0)
y = someClass()
y.set(3, 0)
print(x)

最终结果是打印了 3 而不是 2。我想创建一个单独的类“版本”来为每个变量保存不同的数据。不确定如何。使用 Python 3.3。这是该类的代码:

class someClass:
def __init__(self, list = [0,0,0,0,0,0,0,0,0,0]):
self.list = list
def __repr__(self):
return str(self.list)
def set(self, loc, val):
if ((loc >= 0) & (loc <= 9)):
self.list[loc] = val

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com