这应该是简单的...防止成员对象引用相同的列表
class Object:
x = 0
y = []
a = Object()
b = Object()
a.x = 1
b.x = 2
print a.x, b.x
# output: 1 2
# works as expected
a.y.append(3)
b.y.append(4)
print a.y, b.y
# output: [3, 4] [3, 4]
# same list is referenced how to fix?
# desired output: [3] [4]
据我所知,a.y
和b.y
引用相同的列表。我怎样才能让他们分开?优选地,不需要增加方法。
打印斧头,B,Y的应该打印这个:1 [] –
这是'__init__'的用途。你为什么不想用它? –
@gnibbler如果我确切知道Python对象如何工作我不会在这里:) – devtk