Marc Leconte wrote:
Dear all,

I have a problem with the following code (ubuntu 8.04, Python 2.5.2):

class Toto(object):
        def __init__(self, number, mylist=[]):
                self.number=number
                self.mylist=mylist
                pass
        pass

listA=Toto(number=1)
listB=Toto(number=2)

listA.mylist.append(5)
print "1) ", listA.mylist
print "2) ", listB.mylist

1) [5]
2) [5]

I would have expected
1) [5]
2) []

Thanks in advance for advice,

Read the Python FAQ and or the reference manual section on def statements (function definition) which specifically has a paragraph with a bold-face statement explaining this.



--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to