Book Image

Functional Python Programming

By : Steven F. Lott, Steven F. Lott
Book Image

Functional Python Programming

By: Steven F. Lott, Steven F. Lott

Overview of this book

Table of Contents (23 chapters)
Functional Python Programming
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Writing higher-order functions


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...