HomeCoursesLearn Functional Programming in Python
AI-powered learning
Save

Learn Functional Programming in Python

Gain insights into functional programming in Python, learn about functions as objects, recursion, closures, and generators, and discover how to confidently apply these concepts to your projects.

4.9
95 Lessons
5h
Join 2.9 million developers at
Join 2.9 million developers at
LEARNING OBJECTIVES
  • Learn to implement functional programming in Python.
  • Understand the pros and cons of functional programming in Python.
  • Master the ways to obtain function objects.
  • Grasp the concept of mutability and recursion in Python.
  • Acquire skill of using closures as function factories.
  • Learn to differentiate between iterators and iterables.
  • Become competent in creating, reducing, and transforming iterables.
  • Master list comprehensions and generator comprehensions.
  • Implement function composition and partial application.
  • Get familiar with functors, applicatives, and monads.

Learning Roadmap

95 Lessons12 Quizzes3 Assessments2 Challenges

1.

Introduction

Introduction

Get familiar with functional programming in Python, its characteristics, advantages, and challenges.

3.

Mutability

Mutability

6 Lessons

6 Lessons

Break apart the concepts of mutability in Python, understanding both mutable and immutable objects.

4.

Recursion

Recursion

8 Lessons

8 Lessons

Break down complex ideas in recursion, factorials, limits, memoization, and list flattening.

5.

Closures

Closures

8 Lessons

8 Lessons

Deepen your knowledge of closures, combining functions, and using functions versus classes.

6.

Iterators

Iterators

13 Lessons

13 Lessons

Focus on iterators, iterables, lazy evaluation, creating custom iterators, and built-in functions.

7.

Transforming Iterables

Transforming Iterables

9 Lessons

9 Lessons

Build on Python functions like enumerate, zip, filter, and map for iterable transformations.

8.

Reducing Iterables

Reducing Iterables

7 Lessons

7 Lessons

Step through Python's reducing functions to transform iterables into single outcomes efficiently.

9.

Comprehensions

Comprehensions

5 Lessons

5 Lessons

Get started with creating lists using comprehensions, conditions, and nested structures in Python.

10.

Generators

Generators

7 Lessons

7 Lessons

Go hands-on with generators in Python, enhancing iterator creation and memory efficiency.

11.

Partial Application and Currying

Partial Application and Currying

10 Lessons

10 Lessons

Grasp the fundamentals of closures, partial application, currying, and function composition in Python.

12.

Functors and Monads

Functors and Monads

6 Lessons

6 Lessons

Deepen your knowledge of functors, applicative functors, and monads in functional programming.

13.

Useful Libraries

Useful Libraries

2 Lessons

2 Lessons

Simplify complex topics in Python with Itertools, Functools, PyMonad, and Oslash libraries.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Author NameLearn Functional Programming inPython
Developed by MAANG Engineers
ABOUT THIS COURSE
The functional programming paradigm can be a powerful tool, especially as it can be integrated seamlessly with procedural and object-oriented code in Python. In this course, you’ll learn what functional programming is, how it’s used, and the features of Python that support it. To start, you’ll learn how functions act as objects, the role of mutability, and how to perform recursion. In the latter half of the course, you’ll focus on closures, iterables & iterators, generators, and more. Throughout the course will be three exams which will test your understanding and really drive home what you’ve learned. By the end, you’ll have a new programming paradigm to add under your belt and have the confidence to start using functional programming in your own projects.
ABOUT THE AUTHOR

Martin McBride

I am a software developer, specialising in computer graphics, sound, and mathematical programming. I have been writing code since the 1980s in a wide variety of languages from assembler through to C++, Java and Python.

Learn more about Martin

Trusted by 2.9 million developers working at companies

These are high-quality courses. Trust me the price is worth it for the content quality. Educative came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks

A

Anthony Walker

@_webarchitect_

Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!

E

Evan Dunbar

ML Engineer

You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it.

S

Software Developer

Carlos Matias La Borde

I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site

S

Souvik Kundu

Front-end Developer

Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content.

V

Vinay Krishnaiah

Software Developer

Built for 10x Developers

No Passive Learning
Learn by building with project-based lessons and in-browser code editor
Learn by Doing
Personalized Roadmaps
The platform adapts to your strengths & skills gaps as you go
Learn by Doing
Future-proof Your Career
Get hands-on with in-demand skills
Learn by Doing
AI Code Mentor
Write better code with AI feedback, smart debugging, and "Ask AI"
Learn by Doing
Learn by Doing
MAANG+ Interview Prep
AI Mock Interviews simulate every technical loop at top companies
Learn by Doing

Free Resources

FOR TEAMS

Interested in this course for your business or team?

Unlock this course (and 1,000+ more) for your entire org with DevPath