Functional Programming in Python

Functional Programming in Python


69 Ungluers have Faved this Work
Python is not a functional programming language, but it is a multi-paradigm language that makes functional programming easy to perform, and easy to mix with other programming styles. In this paper, David Mertz, a director of Python Software Foundation, examines the functional aspects of the language and points out which options work well and which ones you should generally decline.

Mertz describes ways to avoid Python’s imperative-style flow control, the nuances of callable functions, how to work lazily with iterators, and the use of higher-order functions. He also lists several third-party Python libraries useful for functional programming.

Topics include:
  • Using encapsulation and other means to describe "what" a data collection consists of, rather than "how" to construct a data collection
  • Creating callables with named functions, lambdas, closures, methods of classes, and multiple dispatch
  • Using Python’s iterator protocol to accomplish the same effect as a lazy data structure
  • Creating higher-order functions that take functions as arguments and/or produce a function as a result

Why read this book? Have your say.

You must be logged in to comment.

Rights Information

Are you the author or publisher of this work? If so, you can claim it as yours by registering as an rights holder.


This work has been downloaded 3976 times via ebook links.
  1. 2122 - pdf (CC BY-SA) at Internet Archive.
  2. 773 - mobi (CC BY-SA) at Internet Archive.
  3. 1081 - epub (CC BY-SA) at Internet Archive.


  • Computer programming
  • Functional programming (Computer science)
  • Nonfiction
  • Python (Computer program language)


edition cover


Copy/paste this into your site: