Class Variable Access and Assignment
Antoon Pardon
apardon at forel.vub.ac.be
Thu Nov 3 06:55:06 EST 2005
Op 2005-11-03, Steven D'Aprano schreef <steve at REMOVETHIScyber.com.au>:
>> 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
More information about the Python-list
mailing list