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

Antoine Pitrou solipsis at pitrou.net
Sat Feb 22 11:35:39 CET 2014


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.

Regards

Antoine.




More information about the Python-Dev mailing list