Hacker News new | ask | show | jobs
by drakeandrews 4523 days ago
That example would surely be better as:

    something = myfunc(d['x']) if 'x' in d else None
3 comments

In this form you perform the lookup twice: once to test 'x' in d and then again to actually get the value d['x']. Try clauses in Python are very inexpensive if they pass (don't raise an exception), so often the try..except version would be preferable.

In any event don't optimize prematurely and use a profiler rather than guessing if performance is an issue. ;-)

Doesn't this go against the Pythonic notion of handling exceptions rather than "looking before you leap"?
That looks like perl.