Commit f354f8e3 authored by Georg Brandl's avatar Georg Brandl

Closes #14306: clarify expensiveness of try-except and update code snippet

parent e3d73544
...@@ -297,8 +297,9 @@ use the ``join()`` function from the string module, which allows you to write :: ...@@ -297,8 +297,9 @@ use the ``join()`` function from the string module, which allows you to write ::
How fast are exceptions? How fast are exceptions?
------------------------ ------------------------
A try/except block is extremely efficient. Actually catching an exception is A try/except block is extremely efficient if no exceptions are raised. Actually
expensive. In versions of Python prior to 2.0 it was common to use this idiom:: catching an exception is expensive. In versions of Python prior to 2.0 it was
common to use this idiom::
try: try:
value = mydict[key] value = mydict[key]
...@@ -309,11 +310,10 @@ expensive. In versions of Python prior to 2.0 it was common to use this idiom:: ...@@ -309,11 +310,10 @@ expensive. In versions of Python prior to 2.0 it was common to use this idiom::
This only made sense when you expected the dict to have the key almost all the This only made sense when you expected the dict to have the key almost all the
time. If that wasn't the case, you coded it like this:: time. If that wasn't the case, you coded it like this::
if mydict.has_key(key): if key in mydict:
value = mydict[key] value = mydict[key]
else: else:
mydict[key] = getvalue(key) value = mydict[key] = getvalue(key)
value = mydict[key]
.. note:: .. note::
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment