Antoon Pardon <[EMAIL PROTECTED]> writes:

> 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 find it confusing at first, but I do understand what happens :-)

But really, what should be done different here?

 S.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to