summaryrefslogtreecommitdiffstats
path: root/Doc/tutorial
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2013-10-06 08:22:45 (GMT)
committerGeorg Brandl <georg@python.org>2013-10-06 08:22:45 (GMT)
commitde5aff1bdc65a562c15cdd5a661dc666cb25ec16 (patch)
tree7aef0a4d60dbd2fa6b4aaca80d8bbc51917f675c /Doc/tutorial
parent58d58dad56caa0eb619b96c44d808eedc3a7673f (diff)
downloadcpython-de5aff1bdc65a562c15cdd5a661dc666cb25ec16.zip
cpython-de5aff1bdc65a562c15cdd5a661dc666cb25ec16.tar.gz
cpython-de5aff1bdc65a562c15cdd5a661dc666cb25ec16.tar.bz2
Closes #18646: improve lambda docs in tutorial. Original patch by Terry Reedy.
Diffstat (limited to 'Doc/tutorial')
-rw-r--r--Doc/tutorial/controlflow.rst29
1 files changed, 18 insertions, 11 deletions
diff --git a/Doc/tutorial/controlflow.rst b/Doc/tutorial/controlflow.rst
index 055f547..56df73d 100644
--- a/Doc/tutorial/controlflow.rst
+++ b/Doc/tutorial/controlflow.rst
@@ -583,17 +583,16 @@ In the same fashion, dictionaries can deliver keyword arguments with the ``**``\
.. _tut-lambda:
-Lambda Forms
-------------
-
-By popular demand, a few features commonly found in functional programming
-languages like Lisp have been added to Python. With the :keyword:`lambda`
-keyword, small anonymous functions can be created. Here's a function that
-returns the sum of its two arguments: ``lambda a, b: a+b``. Lambda forms can be
-used wherever function objects are required. They are syntactically restricted
-to a single expression. Semantically, they are just syntactic sugar for a
-normal function definition. Like nested function definitions, lambda forms can
-reference variables from the containing scope::
+Lambda Expressions
+------------------
+
+Small anonymous functions can be created with the :keyword:`lambda` keyword.
+This function returns the sum of its two arguments: ``lambda a, b: a+b``.
+Lambda forms can be used wherever function objects are required. They are
+syntactically restricted to a single expression. Semantically, they are just
+syntactic sugar for a normal function definition. Like nested function
+definitions, lambda functions can reference variables from the containing
+scope::
>>> def make_incrementor(n):
... return lambda x: x + n
@@ -604,6 +603,14 @@ reference variables from the containing scope::
>>> f(1)
43
+The above example uses a lambda expression to return a function. Another use
+is to pass a small function as an argument::
+
+ >>> pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
+ >>> pairs.sort(key=lambda pair: pair[1])
+ >>> pairs
+ [(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]
+
.. _tut-docstrings: