Chapter 19. Advanced Function Topics
This chapter introduces a collection of more advanced function-related
topics: recursive functions, function attributes and annotations, the
lambda
expression, and functional
programming tools such as map
and
filter
. These are all somewhat advanced
tools that, depending on your job description, you may not encounter on a
regular basis. Because of their roles in some domains, though, a basic
understanding can be useful; lambda
s, for
instance, are regular customers in GUIs, and functional programming
techniques are increasingly common in Python code.
Part of the art of using functions lies in the interfaces between them, so we will also explore some general function design principles here. The next chapter continues this advanced theme with an exploration of generator functions and expressions and a revival of list comprehensions in the context of the functional tools we will study here.
Function Design Concepts
Now that weâve had a chance to study function basics in Python, letâs begin this chapter with a few words of context. When you start using functions in earnest, youâre faced with choices about how to glue components togetherâfor instance, how to decompose a task into purposeful functions (known as cohesion), how your functions should communicate (called coupling), and so on. You also need to take into account concepts such as the size of your functions, because they directly impact code usability. Some of this falls into the category ...
Get Learning Python, 5th 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.