Functional Programming in Python
Learn functional programming concepts and techniques to build Python applications
Study in detail all aspects of functional programming, including immutability, generators, and more
Reinforce your learning through elaborate examples
Learn how to implement advanced topics like closures, memoization, and monads in your applications
Python supports four programming paradigms – imperative, procedural, object-oriented, and functional. Of these, functional programming is probably the least understood and the least used. This book covers several topics that are directly and indirectly related to functional programming.
After a quick overview of functional programming and its characteristics, Functional Programming in Python explains the various concepts of Python, starting with functions. You’ll learn how to change the value of an object by using mutability. You’ll then look at recursion as a more functional alternative to looping for certain algorithms, and learn how memoization alleviates the limitations of recursion in certain situations. The book further explains how to use closures as function factories and how to handle errors and exceptions with functors and monads.
By the end of this book, you’ll have all the knowledge you need for developing your applications with functional programming in Python.
What you will learn
Understand the advantages and disadvantages of functional programming
Use closures in your code to dynamically create functions
Create your own iterators
Use the general-purpose functools to create your own specialized reducing functions
Study and implement list and generator comprehensions to create lists
Create customized iterators with generators
Who this book is for
If you are a developer looking to create applications in Python using functional programming, this book is ideal for you. You will only need a basic knowledge of Python. Prior knowledge or experience of functional programming is not required.