Em Sex, 2006-04-14 às 13:30 -0300, Felipe Almeida Lessa escreveu: > To solve your problem, change > def __init__(self, name, collection=[]): > BaseClass.__init__(self) > self.name = name > self.collection = collection # Will reuse the list > to > def __init__(self, name, collection=None): > BaseClass.__init__(self) > self.name = name > if collection is None: > collection = [] # Will create a new list on every instance > self.collection = collection
Or if None is valid in your context, do: __marker = object() def __init__(self, name, collection=__marker): BaseClass.__init__(self) self.name = name if collection is __marker: collection = [] # Will create a new list on every instance self.collection = collection -- Felipe. -- http://mail.python.org/mailman/listinfo/python-list