gpt4 book ai didi

python - 如何避免在实例之间共享类数据?

转载 作者:IT老高 更新时间:2023-10-28 12:32:45 26 4
gpt4 key购买 nike

我想要的是这种行为:

class a:
list = []

x = a()
y = a()

x.list.append(1)
y.list.append(2)
x.list.append(3)
y.list.append(4)

print(x.list) # prints [1, 3]
print(y.list) # prints [2, 4]

当然,当我打印时真正发生的是:

print(x.list) # prints [1, 2, 3, 4]
print(y.list) # prints [1, 2, 3, 4]

显然,他们在 a 类中共享数据。如何获得单独的实例来实现我想要的行为?

最佳答案

你想要这个:

class a:
def __init__(self):
self.list = []

在类声明中声明变量使它们成为“类”成员而不是实例成员。在 __init__ 方法中声明它们可确保在对象的每个新实例旁边创建成员的新实例,这是您正在寻找的行为。

关于python - 如何避免在实例之间共享类数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1680528/

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