[Python-checkins] cpython (merge 3.2 -> default): merge with 3.2
georg.brandl
python-checkins at python.org
Sat Mar 17 16:58:17 CET 2012
http://hg.python.org/cpython/rev/1d663bddfd69
changeset: 75782:1d663bddfd69
parent: 75780:958a98bf924e
parent: 75781:9a7dcfbcf726
user: Georg Brandl <georg at python.org>
date: Sat Mar 17 16:58:12 2012 +0100
summary:
merge with 3.2
files:
Doc/faq/design.rst | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/Doc/faq/design.rst b/Doc/faq/design.rst
--- a/Doc/faq/design.rst
+++ b/Doc/faq/design.rst
@@ -284,8 +284,9 @@
How fast are exceptions?
------------------------
-A try/except block is extremely efficient. Actually catching an exception is
-expensive. In versions of Python prior to 2.0 it was common to use this idiom::
+A try/except block is extremely efficient if no exceptions are raised. Actually
+catching an exception is expensive. In versions of Python prior to 2.0 it was
+common to use this idiom::
try:
value = mydict[key]
@@ -296,11 +297,10 @@
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::
- if mydict.has_key(key):
+ if key in mydict:
value = mydict[key]
else:
- mydict[key] = getvalue(key)
- value = mydict[key]
+ value = mydict[key] = getvalue(key)
For this specific case, you could also use ``value = dict.setdefault(key,
getvalue(key))``, but only if the ``getvalue()`` call is cheap enough because it
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list