python bug?
Thomas Guettler
guettli at thomas-guettler.de
Mon Jul 26 11:27:31 EDT 2004
Am Mon, 26 Jul 2004 16:21:51 +0300 schrieb Anthony Petropoulos:
> Hi,
>
> When running this simple code:
> -------
> class Dada:
> a = []
> def __init__(self, arg):
> self.a.append(arg)
>
> d1 = Dada("pro")
> d2 = Dada("hoho")
>
> print d1.a, d2.a
> ------------
> I get the output ['pro', 'hoho'] ['pro', 'hoho'], instead of what I
> expected: ['pro'] ['hoho'].
>
> Is this a feature? Is there something I'm missing?
your list "a" is at "class level". All instances
share the same.
try this:
def __init__(self, arg):
self.a=[]
self.a.append(arg)
HTH,
Thomas
More information about the Python-list
mailing list