On Aug 24, 2010, at 10:26 AM, Benjamin Peterson 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. Uh, did you see the message that was in response to? Maybe it should be a bug report? >>> class Foo(object): ... def __getattr__(self, name): print "ATTR:",name ... def __iter__(self): yield 1 ... >>> print list(Foo()) ATTR: __length_hint__ [1] James
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4