getattr(foo, 'foobar') not the same as foo.foobar?

Bruno Desthuilliers bruno.42.desthuilliers at wtf.websiteburo.oops.com
Fri Mar 14 09:24:27 EDT 2008


Erik Max Francis a écrit :
> Dave Kuhlman wrote:
> 
>> Basically, the above code is saying that foo.foobar is not the same as
>> getattr(foo, 'foobar').
> 
> Python promises that the behavior is the same.  It does not promise that 
> the _objects_ will be the same, which is what `is` determines.  That is, 
> you're not doing a useful test here.

FWIW, two methods are "the same" if they have identical (function, obj, 
cls) attributes. Looks like the equality test is correctly implemented:

 >>> foo.bar == foo.bar
True

HTH



More information about the Python-list mailing list