我很困惑为什么会这样。我正在定义一个类Myclass
进行测试。
class Myclass:
l = []
def method1(self):
self.l.append("test")
>>>a = Myclass()
>>>a.l
[]
>>>a.method1()
>>>a.l
['test']
>>>b = Myclass()
>>>b.l
['test']
为什么会这样?为什么没有初始化新的empty
列表?
然后
class Myclass:
l = "string1"
def method1(self):
self.l = "string2"
>>>a = Myclass()
>>>a.l
'string1'
>>>a.method1()
>>>a.l
'string2'
b = Myclass()
>>>b.l
'string1'
为什么只对mutable
个对象发生这种情况?