newbie: class and __dict__ variable.
Bruno Desthuilliers
bruno.42.desthuilliers at websiteburo.invalid
Mon Sep 20 03:27:25 EDT 2010
Terry Reedy a écrit :
> On 9/19/2010 1:37 PM, mafeusek at gmail.com wrote:
>>
>> Hallo Group Members. From time to time I see in python code following
>> notation that (as I believe) extends namespace of MyClass.
>
> No, it does not affect MyClass, just the instance dict.
>
>> class MyClass:
>> def __init__(self):
>> self.__dict__["maci"]=45
>
> Have you seen exactly this usage?
>
>>
>> myCl2 = MyClass2()
>> print myCl2.maci
>>
>>
>> I am guessing that there must be some difference between the one above
>> and the one below, because otherwise no one would probably use the one
>> above. Do YOu know that difference?
>>
>> class MyClass2:
>> def __init__(self):
>> self.maci=45
>
> If the class has a .__setattr__ method, the first bypasses that method,
It also bypasses object.__setattribute__ and - as a consequence - any
binding descriptor by the same name as the attribute being set.
>> myCl = MyClass()
>> print myCl.maci
>
More information about the Python-list
mailing list