I found a bug in my code today, and spent an hour trying to locate it and then minimize the testcase.
Once I did it, I'm still confused about the behavior and I could not find any reference to this behavior in docs. testcase: class A(): def add (self, el): self.lst.extend(el) def __init__ (self, val=[]): print val self.lst = val def test (): x = A() x.add(["foo1","foo2"]) b = A() So, what I would expect here is that I will create two instances of class A with empty self.lst property. Right? In fact (at least with my Python 2.5) [EMAIL PROTECTED]:~/projects/pyl10n$ ./scripts/test.py [] ['foo1', 'foo2'] This bug does not happen when I switch to __init__ (self, *args) and assign self.lst= args[0]. Any clue on what's going on here, and/if where I should report it? Greetings Zbigniew Braniecki -- http://mail.python.org/mailman/listinfo/python-list