Chapter 14. Advanced Function Topics
This chapter introduces a collection of more advanced function-related topics: the lambda expression, functional programming tools such as map and list comprehensions, generators, and more. Part of the art of using functions lies in the interfaces between them, so we will also explore some general function design principles here. Because this is the last chapter in Part IV, we’ll close with the usual sets of gotchas and exercises to help you start coding the ideas you’ve read about.
Anonymous Functions: lambda
So far, we’ve seen what it takes to write our own functions in Python. The next sections turn to a few more advanced function-related ideas. Most of these are optional features, but can simplify your coding tasks when used well.
Besides the def
statement, Python also provides an
expression form that generates function objects.
Because of its similarity to a tool in the LISP language,
it’s called
lambda
.
[1] Like
def
, this expression creates a function to be
called later, but returns it instead of assigning it to a name. This
is why lambdas are sometimes known as anonymous (i.e., unnamed)
functions. In practice, they are often used as a way to inline a
function definition, or defer execution of a piece of code.
lambda Expressions
The lambda
’s general form is
the
keyword lambda
, followed by one or more arguments
(exactly like the arguments list you enclose in parenthesis in a
def
header), followed by an expression after a
colon:
lambda argument1 ...
Get Learning Python, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.