[Python-Dev] Re: Confusing "hasattr" behaviour

Just van Rossum just at letterror.com
Thu Feb 24 23:29:46 CET 2005


Terry Reedy wrote:

> 
> "J. David Ibanez" <jdavid at itaapy.com> wrote in message 
> news:421B8C4B.5050003 at itaapy.com...
> 
> Given that the behavior of hasattr is clearly defined in Lib Manual
> 2.1 as equivalent to
> 
> def hasattr(obj, name):
>   try:
>     getattr(obj, name)
>     return True
>   except:
>    return False
> 
> I am not sure what could be confusing about it.  It is a simple
> getattr wrapper converting 'got something' to True and 'did not get
> anything' (raised an exception instead) to False.  Users should know
> this so they don't wastefully write 'if hasattr(o,n): x =
> getattr(o,n)'

See also http://python.org/sf/504714

Just


More information about the Python-Dev mailing list