In this chapter, we have seen two reductions that are higher-order functions: max()
and min()
. We also looked at the two central higher-order functions, map()
and filter()
. We also looked at sorted()
.
We also looked at how to use a higher-order function to also transform the structure of data. We can perform several common transformations, including wrapping, unwrapping, flattening, and structure sequences of different kinds.
We looked at three ways to define our own higher-order functions, which are as follows:
- The
def
statement. Similar to alambda
form that we assign to a variable. - Defining a callable class as a kind of function that emits composite functions.
- We can also use decorators to emit composite functions. We'll return to this in Chapter 11, Decorator Design Techniques.
In the next chapter, we'll look at the idea of purely functional iteration via recursion. We'll use Pythonic structures to make several common improvements over purely functional techniques. We'll also look...