Attribute reference design

Gary Herron gherron at
Wed Jul 2 01:17:21 CEST 2008

chamalulu wrote:
> On Jul 1, 11:24 pm, "Diez B. Roggisch" <de... at> 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
> --

More information about the Python-list mailing list