
Functional Python Programming
By :

We can identify three varieties of higher-order functions; they are as follows:
Functions that accept a function as one of its arguments.
Functions that return a function. A Callable
class is a common example of this. A function that returns a generator expression can be thought of as a higher-order function.
Functions that accept and return a function. The functools.partial()
function is a common example of this. We'll save this for Chapter 10, The Functools Module. A decorator is different; we'll save this for Chapter 11, Decorator Design Techinques.
We'll expand on these simple patterns using a higher-order function to also transform the structure of the data. We can do several common transformations such as the following:
Wrap objects to create more complex objects
Unwrap complex objects into their components
Flatten a structure
Structure a flat sequence
A Callable
class object is a commonly used example of a function that returns a callable
object. We'll look at...
Change the font size
Change margin width
Change background colour