When you enroll through our links, we may earn a small commission—at no extra cost to you. This helps keep our platform free and inspires us to add more value.

Functional Programming With Python
A beginner-friendly introduction to functional constructs in python

This Course Includes
udemy
4.6 (81 reviews )
14h 28m
english
Online - Self Paced
professional certificate
Udemy
About Functional Programming With Python
Welcome to the
best and most comprehensive
introduction to
functional programming
in Python! In this beginner-friendly course, you will get to learn and practice Python's functional capabilities step-by-step, from the ground up. The course will begin with a conceptual understanding of the key tenets of functional programming:
immutability
: the idea that data should not be modified in place
purity
: the practice of writing functions that do not cause side effects
higher-order functions
: treating functions as pari passu with other data types
recursion
: the pattern of writing functions that call themselves
referential transparency
: the principle that a function call can be replaced with its return value without changing the program's behavior Then, we will explore practical utilities that Python offers to help us write functional code, including:
map, filter, reduce, zip, any, all
: utilities for working with iterables
list, set, dictionary, and generator
comprehensions
: concise ways of creating lists, sets, dictionaries, and generators
generator
functions and
iterators
: functions that can be paused and resumed
variable arity
: functions that can take a variable number of arguments, unknown at the time of writing the function In the final, and longest part of the course, we will take a look at more advanced topics, including:
closures
: higher-order functions that can access non-local variables
recursion
: functions that call themselves
partial function application
: functions that return other functions, with some arguments pre-filled
currying
: a special case of partial function application
memoization
: caching the results of function calls to speed up execution
infinite iterators
: iterators that never end
functional overloading
: functions that behave differently depending on their inputs Throughtout the course, you will get to practice your newly acquired skills through a set of
more than 20 skill challenges
, each of which will be followed with a detailed video explanation of the solution that we will walk through together. This course is very beginner-friendly and no python experience is assumed. If you've never worked with Python before, there's
a full length introduction to Python programming included as an appendix
, covering the fundamentals of the language from the basic data types to containers, control flow, loops, classes, and more. See you inside!
What You Will Learn?
- Practical fluency with map, filter, reduce, zip, any, all, list, set, dictionary, and generator comprehensions, and generator expressions .
- Complete coverage of intermediate functional constructs in Python: generators, iterators, decorators, closures, recursion, and much more! .
- A practical exploration of advanced topics: closures, recursion, partial function application, currying, memoization, infinite iterators, and overloading .
- A conceptual understanding of the key tenets of functional programming: immutability, purity, higher-order functions, recursion, and referential transparency.