Functional Python Programming, 2nd Edition
- Length: 360 pages
- Edition: 2nd Revised edition
- Language: English
- Publisher: Packt Publishing
- Publication Date: 2018-07-10
- ISBN-10: 1788627067
- ISBN-13: 9781788627061
- Sales Rank: #1195585 (See Top 100 Books)
Functional Python Programming – Second Edition: Monads, Lazy evaluation, Generator functions, and more
Create succinct and expressive implementations with functional programming in Python
Key Features
- Implement common functional programming design patterns and techniques in Python
- Learn how to choose between imperative and functional approaches based on expressiveness, clarity, and performance
- Apply functional Python to common Exploratory Data Analysis (EDA) programming problems
Book Description
If you’re a Python developer who wants to discover how to take the power of functional programming and bring it into your own programs then this book is essential for you, even if you know next to nothing about the paradigm.
Starting with a general overview of functional concepts you’ll explore common functional features such as first-class and higher-order functions, pure functions and more, and how these are accomplished in Python 3.6 to give you the core foundations you’ll build upon. After that, you’ll discover common functional optimizations for Python to help your apps reach even higher speeds. You will learn FP concepts such as Lazy Evaluation using Python’s generator functions and expressions. Going forward, you will learn to design and implement decorators to create composite functions. You’ll also explore data preparation techniques and data exploration in depth, along with learning how the Python standard library fits the functional programming model. Finally, to top off your journey into the world of function Python you’ll at look at the PyMonad project and some larger examples to put everything into perspective.
What you will learn
- Use Python’s generator functions and generator expressions to work with collections in a non-strict (or lazy) manner
- Utilize Python library modules including itertools, functools, multiprocessing, and concurrent.futures for efficient functional programs
- Use Python strings using object-oriented suffix notation and prefix notation
- Avoid stateful classes with families of tuples
- Design and implement decorators to create composite functions
- Use functions like max(), min(), map(), filter(), and sorted()
- Write higher-order functions
Who This Book Is For
This book is for Python developers who would like to perform Functional programming with Python. Python Programming knowledge is assumed.
Table of Contents
Chapter 1: Understanding Functional Programming
Chapter 2: Introducing Essential Functional Concepts
Chapter 3: Functions, Iterators, And Generators
Chapter 4: Working With Collections
Chapter 5: Higher-Order Functions
Chapter 6: Recursions And Reductions
Chapter 7: Additional Tuple Techniques
Chapter 8: The Itertools Module
Chapter 9: More Itertools Techniques
Chapter 10: The Functools Module
Chapter 11: Decorator Design Techniques
Chapter 12: The Multiprocessing And Threading Modules
Chapter 13: Conditional Expressions And The Operator Module
Chapter 14: The Pymonad Library
Chapter 15: A Functional Approach To Web Services
Chapter 16: Optimizations And Improvements