[Python-Dev] PEP 463: Exception-catching expressions

Antoine Pitrou solipsis at pitrou.net
Sat Feb 22 12:59:01 CET 2014


On sam., 2014-02-22 at 20:54 +0900, Stephen J. Turnbull wrote:
> Antoine Pitrou writes:
>  > On sam., 2014-02-22 at 19:29 +0900, Stephen J. Turnbull wrote:
>  > > Antoine Pitrou writes:
>  > > 
>  > >  > Well, the only way to know that a key (or attribute) exists is to do
>  > >  > the lookup. What else would you suggest?
>  > > 
>  > > Do the lookup at the C level (or whatever the implementation language
>  > > is) and generate no exception, of course.  That's what would make it
>  > > possibly more efficient.
>  > 
>  > Let's see:
>  > - hasattr() does the lookup at the C level, and silences the
>  > AttributeError
>  > - dict.get() does the lookup at the C level, and doesn't generate an
>  > exception
>  > 
>  > So apart from the minor inefficiency of generating and silencing the
>  > AttributeError, those functions already do what you suggest.
> 
> But that's precisely the inefficiency I'm referring to.

Sure, but complaining about inefficiencies without asserting their
significance is not very useful.

Regards

Antoine.




More information about the Python-Dev mailing list