Martin McBride
Published: 2019-11-28
Total Pages: 109
Get eBook
Learn functional programming concepts and techniques to build Python applicationsKey Features* 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 applicationsBook DescriptionPython 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 generatorsWho this book is forIf 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.