diff -r a381721299a3 Doc/tutorial/controlflow.rst --- a/Doc/tutorial/controlflow.rst Thu Aug 01 21:12:45 2013 +0200 +++ b/Doc/tutorial/controlflow.rst Sat Aug 03 16:36:35 2013 -0400 @@ -586,14 +586,13 @@ 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:: +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. The difference is that the +name attribute will always be ''. Like nested function +definitions, lambda forms can reference variables from the containing scope:: >>> def make_incrementor(n): ... return lambda x: x + n @@ -604,7 +603,15 @@ >>> f(1) 43 +The above example uses a lambda expression to return a function. Another use +is to pass a 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: Documentation Strings