Python:关于类变量的困惑

时间:2015-04-27 15:39:27

标签: python class

我很困惑为什么会这样。我正在定义一个类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个对象发生这种情况?

0 个答案:

没有答案