Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Functional Programming With Python
Rating: 4.6 out of 5(109 ratings)
1,429 students

Functional Programming With Python

A beginner-friendly introduction to functional constructs in python
Created byAndy Bek
Last updated 1/2026
English

What you'll 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

Course content

31 sections191 lectures14h 28m total length
  • Very Short Intro2:51

    Master the essentials of Python by learning data types, basic functions, and classes, while setting up and running code in your preferred environment with Jupyter notebooks or VS Code.

  • All Course Notebooks0:03

Requirements

  • No prior Python programming experience is required - this course is beginner friendly
  • A basic understanding of programming concepts is helpful, but not required

Description

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!

Who this course is for:

  • This course is for anyone who wants to learn functional programming in Python from the very basics
  • Beginners to programming interested in writing concise, readable, and maintainable Python
  • Beginner Python developers with an interest in functional programming
  • Intermediate programmers with no exposure to functional constructs in Python