Michal Kwiatkowski wrote:
> Alex Martelli napisaĆ(a):
>>>>> obj.__dict__
>> {}
>>
>> ...the presence of '__dict__' as an entry in C is confusing the issue,
>> because that's what you get in this case as obj.__dict__.
>
> It still bugs me. What's the actual procedure when doing attribute
> assignment? I understand it like this:
>
> obj.attr = value
> * if instance class has __setattr__, call it
> * else: if class has an attribute with name "attr" check if it's a
> descriptor; when it's overriding descriptor, call its __set__
> method, otherwise raise AttributeError
> * else: bind "attr" as object attribute
>
Here is a step-by-step description of what happens when you set or get
an attribute on an object:
http://cafepy.com/article/python_attributes_and_methods/ch01s05.html
Cheers,
Shalabh
--
http://mail.python.org/mailman/listinfo/python-list