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

Benjamin Peterson benjamin at python.org
Tue Aug 24 14:31:18 CEST 2010


2010/8/24 Hrvoje Niksic <hrvoje.niksic at avl.com>:
> The __length_hint__ lookup expects either no exception or AttributeError,
> and will propagate others.  I'm not sure if this is a bug.  On the one hand,
> throwing anything except AttributeError from __getattr__ is bad style (which
> is why we fixed the bug by deriving our business exception from
> AttributeError), but the __length_hint__ check is supposed to be an internal
> optimization completely invisible to the caller of list().

__length_hint__ is internal and undocumented, so it can do whatever it wants.



-- 
Regards,
Benjamin


More information about the Python-Dev mailing list