Python. Strange class attributes behavior
        Posted  
        
            by Eugene
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Eugene
        
        
        
        Published on 2010-04-25T07:13:29Z
        Indexed on 
            2010/04/25
            7:23 UTC
        
        
        Read the original article
        Hit count: 237
        
>>> class Abcd:
...     a = ''
...     menu = ['a', 'b', 'c']
... 
>>> a = Abcd()
>>> b = Abcd()
>>> a.a = 'a'
>>> b.a = 'b'
>>> a.a
'a'
>>> b.a
'b'
It's all correct and each object has own 'a', but...
>>> a.menu.pop()
'c'
>>> a.menu
['a', 'b']
>>> b.menu
['a', 'b']
How could this happen? And how to use list as class attribute?
© Stack Overflow or respective owner