A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://mail.python.org/pipermail/python-dev/2010-August/103251.html below:

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

[Python-Dev] 'hasattr' is broken by designJames Y Knight foom at fuhm.net
Tue Aug 24 16:42:21 CEST 2010
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
More information about the Python-Dev mailing list

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