Functional Python Programming: Use a functional approach to write succinct, expressive, and efficient Python code, 3rd Edition - Softcover

Steven F. Lott

 
9781803232577: Functional Python Programming: Use a functional approach to write succinct, expressive, and efficient Python code, 3rd Edition

Synopsis

Python isn’t all about object-oriented programming. Discover a valuable way of thinking about code design through a function-first approach – and learn when you need to use it. Now with detailed exercises at the end of every chapter!

Purchase of the print or Kindle book includes a free eBook in PDF format.

Key Features

  • Learn how, when, and why to adopt functional elements in your projects
  • Explore the Python modules essential to functional programming, like itertools and functools
  • Revised to cover new features of Python 3.10, exercises at the end of every chapter, and more

Book Description

Not enough developers understand the benefits of functional programming, or even what it is. Author Steven Lott demystifies the approach, teaching you how to improve the way you code in Python and make gains in memory use and performance.

Starting from the fundamentals, this book shows you how to apply functional thinking and techniques in a range of scenarios, with examples centered around data cleaning and exploratory data analysis. You’ll learn how to use generator expressions, list comprehensions, and decorators to your advantage. You don’t have to abandon object-oriented design completely, though – you’ll also see how Python’s native object-orientation is used in conjunction with functional programming techniques.

By the end of this book, you’ll be well versed in the essential functional programming features of Python, and understand why and when functional thinking helps. You’ll also have all the tools you need to pursue any additional functional topics that are not part of the Python language.

What you will learn

  • Use Python’s libraries to avoid the complexities of state-changing classes
  • Leverage built-in higher-order functions to avoid rewriting common algorithms
  • Write generator functions to create lazy processing
  • Design and implement decorators for functional composition
  • Make use of Python type annotations to describe parameters and results of functions
  • Apply functional programming to concurrency and web services
  • Explore the PyMonad library for stateful simulations

Who This Book Is For

The functional paradigm is very useful for programmers working in data science, but any Python developer who wants to create more reliable, succinct, and expressive code will have much to learn from this book.

No prior knowledge of functional programming is required to get started, though Python programming knowledge is assumed. A running Python environment is essential.

Table of Contents

  1. Understanding Functional Programming
  2. Introducing Essential Functional Concepts
  3. Writing Functions, Iterators, and Generators
  4. A Functional Approach to Working with Collections
  5. Writing Higher-Order Functions
  6. Defining using Recursion and Defining Reduction Functions
  7. Additional Techniques for Immutable Data
  8. Using the Itertools Module
  9. More Itertools Techniques
  10. Using the Functools Module
  11. Using the Operator Module
  12. Designing Decorators for Functional Composition
  13. Using the PyMonad Library
  14. A Functional Approach to Multiprocessing, Threading, and Asyncio
  15. A Functional Design for Web Services
  16. Optimizations and Improvements

"synopsis" may belong to another edition of this title.

About the Author

Steven F. Lott has been programming since the 70s, when computers were large, expensive, and rare. As a contract software developer and architect, he has worked on hundreds of projects, from very small to very large. He's been using Python to solve business problems for almost 20 years.

"About this title" may belong to another edition of this title.