We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

Learn Functional Programming in Python

Add functional programming to your toolbox without pretending Python is Haskell.

What you'll learn in this Python course

Functional programming is back in vogue. There's a reason front-end frameworks like React and Vue are moving toward functional programming, and after this course you'll more than understand its benefits. We'll dive in-depth into all of the foundational concepts of functional programming in a familiar language.

Chapter List

1
What is Functional Programming?
Learn about the difference between OOP and functional styles, and what the real difference is: imperative vs. declarative
2
First-Class Functions
First-class and higher-order functions are foundational to everything we do in the functional paradigm.
3
Pure Functions
My favorite part of functional programming is the focus on pure functions that are easy to test and reason about
4
Recursion
While not unique to functional programming, recursion is a powerful tool that is used often when trying to avoid imperative code
5
Function Transformations
Learn how to transform functions into other functions to write more abstract and generalized code
6
Closures
Learn about encapsulating state within functions and how to use closures to write more expressive code
7
Currying
Learn to transform a function with multiple parameters into a series of functions with one parameter, and why you might want to do that
8
Decorators
Learn about Python's decorators and how they're essentially syntactic sugar for higher-order functions
9
Sum Types
Learn about sum types, a powerful way to represent data that is used in many functional languages

Join 39,254 students in the Learn Functional Programming in Python course

Read reviews of their learning experiences

This was harder then the previous courses. Lots of new concepts. I really needed the training grounds just to wrap my head around everything.

(5/5)
Bart Goud profile image

Bart Goud

Netherlands

Fantastic course! I learned a lot about functional programming and even started using that data in my job!

(5/5)
Ben Nicholls profile image

Ben Nicholls

United States

As much as I enjoyed Boot.dev's previous courses, this one is a major miss for me. The framing of concepts felt poor and rushed, and often included links to obscenely difficult wikipedia articles or manual pages that mean very little to beginner programmers like myself. I hope the devs go back and have a look at the practices, and include more concise descriptions and practical applications. As much as I hate to say it, this course made me constantly feel like I should just give up entirely.

(1/5)
Rick  profile image

Rick

Japan

This course both gave me an interest in learning more about functional programming and made me feel incredibly dumb. Oceans of salmon fed to Boots.

(4/5)
MDJ  profile image

MDJ

United Kingdom

The theoretical concepts in this module are solid, but teaching deep Functional Programming (like currying and heavy recursion) in Python feels somewhat unnatural and overly complex. As a student whose primary goal on this platform is to master backend architecture and Go, I found myself skipping through many of these Python-specific FP exercises. It would be incredibly helpful if the course explicitly contrasted these Python FP patterns with Go's imperative style. Showing students why we are l

(5/5)
Jorbaty  profile image

Jorbaty

Kyiv, Ukraine

So hard for my smooth brain but so good

(5/5)
Michael Haley profile image

Michael Haley

United Kingdom

Hard but usefull

(5/5)
Quentin CABY profile image

Quentin CABY

France

4* because this course was melting my brain the whole time. Was tough for sure

(4/5)
Dominykas Sabeckis profile image

Dominykas Sabeckis

Lithuania

I really enjoyed this course. It can see why functional programming is so popular with Python.

(5/5)
Zach  profile image

Zach

United States

Showing 1-9 of 987

or view more reviews

Mediocrity doesn't cut it anymore

The only way to become a great developer is to write a lot of code

Avoid tutorial hell

by writing a ton of code

Stay motivated with

a game-like curriculum

Build portfolio projects

to prove your skills

Delve deeper

into foundational concepts

Learn flexibly online

without interrupting your life

For 1% the price of college

to minimize your financial risk

Frequently asked Questions

Got questions? We've got answers

Yes! It's free to create an account and start learning. You'll get all the immersive and interactive features for free for a few chapters. After that, if you still haven't paid for a membership, you'll be in read-only (content only) mode.