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.