[Python-Dev] 'hasattr' is broken by design

Yury Selivanov yselivanov at gmail.com
Mon Aug 23 16:52:22 CEST 2010


On 2010-08-23, at 10:46 AM, Benjamin Peterson wrote:

> 2010/8/23 Yury Selivanov <yselivanov at gmail.com>:
>> 1) I propose to change 'hasattr' behaviour in Python 3, making it to swallow only AttributeError exceptions (exactly like 'getattr').  Probably, Python 3.2 release is our last chance.
> 
> I would be in support of that.
> 
>> 
>> 2) If you afraid that this new behaviour will break too much python 2 code converted with 2to3, we can introduce another 'hasattr' function defined in 2to3 module itself, and make it imported automatically in all files passed through 2to3 transformation pipeline.  This new function will mimic 'hasattr' behaviour from python 2 and converted code should work as expected.
> 
> But not this. Compatibility functions don't belong in 2to3.

There are many possible solutions for the Python 2 porting issue, this one was just one of them.  I was trying to make a point, that it's possible to somehow make porting process easier, and meanwhile fix Python 3.

-
Yury Selivanov
Sprymix Inc.



More information about the Python-Dev mailing list