Functional Python Programming

(Wang) #1

Higher-order Functions


Summary


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 this is a lambda 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 at the associated problem of performing
reductions from collections to individual values.

Free download pdf