> The first creates an attribute of the class, the second creates an > attribute in the instance.
Given that, can you clarify this: class Test: attribute = "original value" class Bob: def __init__(self): self.ref = Test() class Jim: def __init__(self): self.ref = Test() b = Bob() j = Jim() print b.ref.attribute #prints "original value" b.ref.attribute = "haschanged" ## Where is the value "haschanged" going here? print b.ref.attribute # print "haschanged" print j.ref.attribute #prints "original value" ## If it changed and an attribute of the Class, then ## why is it back to "original value" ? > Actually the lookup is somewhat more complex than that when you use new- > style classes (and you should always use new-style classes): properties > (or other objects with a 'get' method) are class attributes but take > precedence over instance attributes. What is a 'get' method? Do you mean it should get all Java-esque with getBlah and setBlah for every little thing? I have been hearing about "new classes" for a while but there's no clarity in the Python docs (that I can find). Have you any references for me? I thought they were the standard by now anyway. I've only been pythoning since 2.3 anyway. \d -- http://mail.python.org/mailman/listinfo/python-list