Attribute reference design
Gary Herron
gherron at islandtraining.com
Tue Jul 1 19:17:21 EDT 2008
chamalulu wrote:
> On Jul 1, 11:24 pm, "Diez B. Roggisch" <de... at nospam.web.de> wrote:
>
>> chamalulu schrieb:
>>
>>
>>> Hello.
>>> I think I'm aware of how attribute access is resolved in python. When
>>> referencing a class instance attribute which is not defined in the
>>> scope of the instance, Python looks for a class attribute with the
>>> same name. (For assignment or deletion this is not the case,
>>> thankfully.)
>>> I've been trying to understand why? What is the reason behind, or
>>> practical purpose of, this design decision? Anyone, please enlighten
>>> me.
>>>
>> How else would you resolve methods which are of course defined on the
>> class but invoked through the instance?
>>
>>
>
> Yes, of course... You're right.
> Didn't think of that.
> Thank you. I'll go stand in the corner. :)
>
No need. Also, you can define a class attribute (C++ might call it a
static attribute) and access it transparently through an instance.
class C:
aClassAttribute = 123
def __init__(self, ...):
...
c = C()
... do something with c.aClassAttribute ...
> I think I haven't got this bound/unbound stuff through my head yet. If
> I dir() a class instance I see the methods right there. Are they not
> bound to the class instance at instanciation (and as such be
> attributes of the class instance)?
>
> /Henrik
> --
> http://mail.python.org/mailman/listinfo/python-list
>
More information about the Python-list
mailing list