[EMAIL PROTECTED] a écrit : > The Problem (very basic, but strange): > > I have a list holding a population of objects, each object has 5 vars > and appropriate funtions to get or modify the vars.
Which are probably not necessary: http://dirtsimple.org/2004/12/python-is-not-java.html (in short: Python as a mechanism named "properties" that allow you to "gateway" attribute access thru hiddens getter and setter). > When objects in > the list have identical vars (like all = 5 for var "a" and all = 10 for > var "b" across all vars and objects) and i change > > self.mylist[i].change_var_a(5) > > to a new value, in this case var "a" in object i to 5, now all vars of > type "a" in all objects in my list are changed to 5 instead of just var > "a" in object mylist[i], which is my goal. (snip) > > What is python doing? Am I missing something? Any ideas at all would be > wonderful? > It would have helped if you had posted your code. Anyway, at least two things could lead to the behaviour you describe: 1/ you have class attributes instead of instance attributes, ie: class MyClass(object): # this attribute belongs to the class class_attrib = 42 def __init__(self, instance_attrib): # this attribute belongs to the instance self.instance_attrib = instance_attrib 2/ you in fact have in your list multiple references to the same instance. My 2 cents -- http://mail.python.org/mailman/listinfo/python-list