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

R. David Murray rdmurray at bitdance.com
Tue Aug 24 16:57:20 CEST 2010


On Tue, 24 Aug 2010 09:26:09 -0500, Benjamin Peterson <benjamin at python.org> wrote:
> 2010/8/24 P.J. Eby <pje at telecommunity.com>:
> > At 03:37 PM 8/24/2010 +0200, Hrvoje Niksic wrote:
> >>
> >> a) a "business" case of throwing anything other than AttributeError from
> >> __getattr__ and friends is almost certainly a bug waiting to happen, and
> >
> > FYI, best practice for __getattr__ is generally to bail with an
> > AttributeError as soon as you see double underscores in the name, unless you
> > intend to support special attributes.
> 
> Unless you're in an old-style class, you shouldn't get an double
> underscore methods in __getattr__ (or __getattribute__). If you do,
> it's a bug.

Benjamin, I remember you fixing various special method lookups, so just
for clarity's sake, which versions of Python does your statement apply to?

--
R. David Murray                                      www.bitdance.com


More information about the Python-Dev mailing list