If I remember correctly, this behavior depends on how the class is
created (classic mode versus modern).

Modern

        class foo(object):
                pass

Classic ( pre python 2.2 I believe )

        class foo():
                pass

The modern method of specifying object in the class definition gets all
of the class attributes cleanly.

The classic method does not have this so the behavior is simulated.


Ben Finney wrote:
> Laszlo Nagy <[EMAIL PROTECTED]> writes:
> 
>> This is from the Python documentation (fragment):
>>
>> __getattr__(     self, name)
>>     Called when an attribute lookup has not found the attribute in the 
>> usual places (i.e. it is not an instance attribute nor is it found in 
>> the class tree for self). name is the attribute name. This method should 
>> return the (computed) attribute value or raise an AttributeError exception.
>>
>>
>> How can I determine if an attribute can be found in the usual places? 
> 
> When the attribute is not found in the usual places, the object's
> __getattr__ method (if it has one) is called. Thus, when you write
> your __getattr__ method, you should assume that the attribute has not
> been found in the usual places.
> 
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to