在循环下给类静态属性赋值,但遇到问题,代码如下
class Main:
State = []
def main(self):
self.State.append([1,2,3,4])
list1 = [1,2,3,4]
a = Main()
while True:
a.main()
Main.State = list1
print(a.State)
time.sleep(1)
如果像这样把list1定义在循环外面使list1的值被修改,而打印出来的内容也越来越长
像这样
[1, 2, 3, 4, [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]]
而如果放在里面,就没有问题,在每次执行完main函数后会对state属性重新赋值,这是什么原因?