Op 2005-11-03, Steve Holden schreef <[EMAIL PROTECTED]>: > Antoon Pardon wrote: >> 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 >> > I don't suppose you'd care to enlighten us on what you'd regard as the > superior outcome?
No. I don't think a superior outcome is necessary to see that this is not sane behaviour. I don't care that much on how it gets fixed. -- Antoon Pardon -- http://mail.python.org/mailman/listinfo/python-list