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.

Browse Lessons (read-only)

What will you learn?

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 37,665 students in the Learn Functional Programming in Python course

Read reviews of their learning experiences

Tough course, but we're learning!

(5/5)
Franz Pichardo Rodriguez profile image

Franz Pichardo Rodriguez

Dominican Republic

The difficulty compared to previous courses in the Path is extremely high. A lot of concepts and their implementation is unclear

(2/5)
Petr Fedorinov profile image

Petr Fedorinov

Tunisia

This was defintiely the most challenging course thus far for me I had no experience with utilizing functional programming so they definitely put me through the ringer

(5/5)
James Gillis profile image

James Gillis

United States

It was hard, but I have learned a very powerful tool like recursion.

(5/5)
Mahir Khan profile image

Mahir Khan

Bangladesh

A great course that includes different types of functional programming (from easy to difficult), and this course helped me master functional programming in Python. Thanks Foothill

(5/5)
Abdul Rahman Sleet profile image

Abdul Rahman Sleet

Palestine

very useful

(5/5)
Ibraheem Abdel Haq profile image

Ibraheem Abdel Haq

Palestinian Territories

so freaking hard lol

(3/5)
Harry  profile image

Harry

London

it was confusing for me at first since it is the first time to learn such things. but as i go deeper in the course as i understand the concepts more and more . very useful

(5/5)
Mohammed Shareef profile image

Mohammed Shareef

hebron, palestine

Boy boy boy.. if you thought you were having a good time and flying through the backend path up to here, this one is your wakeup call!

(4/5)
Ismar Iljazovic profile image

Ismar Iljazovic

Zurich, Switzerland

Showing 1-9 of 902

Browse Lessons (read-only)

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.