>>> class Abcd:
... a = ''
... menu = ['a', 'b', 'c']
...
>>> a = Abcd()
>>> b = Abcd()
>>> a.a = 'a'
>>> b.a = 'b'
>>> a.a
'a'
>>> b.a
'b'
Run Code Online (Sandbox Code Playgroud)
这一切都是正确的,每个对象都有自己的'a',但......
>>> a.menu.pop()
'c'
>>> a.menu
['a', 'b']
>>> b.menu
['a', 'b']
Run Code Online (Sandbox Code Playgroud)
怎么会发生这种情况?以及如何使用list作为类属性?