我想要的是这种行为:
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__
方法确保成员的新实例与对象的每个新实例一起创建,这就是您正在寻找的行为。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)