Op 2005-11-03, Steven D'Aprano schreef <[EMAIL PROTECTED]>: >> There are two possible fixes, either by prohibiting instance variables >> with the same name as class variables, which would allow any reference >> to an instance of the class assign/read the value of the variable. Or >> to only allow class variables to be accessed via the class name itself. > > There is also a third fix: understand Python's OO model, especially > inheritance, so that normal behaviour no longer surprises you.
No matter wat the OO model is, I don't think the following code exhibits sane behaviour: class A: a = 1 b = A() b.a += 2 print b.a print A.a Which results in 3 1 -- Antoon Pardon -- http://mail.python.org/mailman/listinfo/python-list