hasattr + __getattr__: I think this is Python bug
Bruno Desthuilliers
bruno.42.desthuilliers at websiteburo.invalid
Tue Jul 27 03:21:30 EDT 2010
Ethan Furman a écrit :
> Bruno Desthuilliers wrote:
>> Duncan Booth a écrit :
(snip)
>>> Or you could create the default as a class attribute
>>
>> from the OP:
>> """
>> I have a class (FuncDesigner oofun) that has no attribute "size", but
>> it is overloaded in __getattr__, so if someone invokes
>> "myObject.size", it is generated (as another oofun) and connected to
>> myObject as attribute.
>> """
>>
>> so this solution won't obviously work in this case !-)
>>
>> Also and FWIW, I wouldn't advocate this solution if the "default"
>> class attribute is of a mutable type.
>
> Well, it is Monday, so I may be missing something obvious, but what is
> the effective difference between these two solutions?
Now it's Tuesday !-)
Ok, let's see:
Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> class Foo(object):
... whatever = Foo()
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in Foo
NameError: name 'Foo' is not defined
>>>
More information about the Python-list
mailing list