Python 3.5 handling lists strangely
本问题已经有最佳答案,请猛点这里访问。
我遇到了一些相当奇怪的行为。
1 2 3 4 5 6 7 8 9 10 11 | class Example: test = [] def __init__(self): print(self.test) self.test.append(0) ex1 = Example() ex2 = Example() ex3 = Example() |
我希望每次都能输出[],但是,我得到:
1 2 3 | [] [0] [0, 0] |
这个巫师是什么?你能帮我理解吗?谢谢你!
编辑:嘿,谢谢你的快速回答。
为了澄清,如果"test"是静态的,那么当我将"self.test.append(0)"替换为"self.test=[0]"时,为什么我没有注意到这种行为?
您需要在
1 2 3 4 5 6 | class Example: def __init__(self): self.test = [] print(self.test) self.test.append(0) |