var只要您通过
instance.var或访问,绝对不应共享
self.var。但是,对于列表,您的语句要做的是在评估该类时,将创建一个列表实例并将其绑定到该类dict,因此所有实例将具有相同的列表。每当您设置
instance.list= somethingelse响应时。
self.list = somethingelse,它应该获得实例级别的值。
时间示例:
>>> class A():... var = 0... list = []...>>> a = A()>>> b = A()>>> a.var0>>> a.list[]>>> b.var0>>> b.list[]>>> a.var = 1>>> b.var0>>> a.list.append('hello')>>> b.list['hello']>>> b.list = ['newlist']>>> a.list['hello']>>> b.list['newlist']