On Nov 10, 2008, at 2:44 PM, Zane Selvans wrote:
However, one (and only one) of these instance variables is behaving
mysteriously like a class variable: all instances of the class are
sharing a single copy of the variable, located at the same place in
memory.
Is there a common mistake that can result in this behavior, that
doesn't involve using class variables - I really have absolutely
nothing defined in the class except for methods. The problem shows
up regardless of how I name the instance variables (i.e. using name
mangling __names or not). The problematic variable consists of a
list of objects of type Lineament (the same object class as the one
that's giving me problems).
How are you creating your list? You need to make sure that each
instance creates its very own list object, something like:
self.foo = []
rather than grabbing a reference to some shared list instance, such as
one defined as a default argument to your __init__ method.
HTH,
- Joe
--
http://mail.python.org/mailman/listinfo/python-list