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

Read reviews of their learning experiences

Great course! Expect a big jump in difficultly from the previous courses (if you are following the developer path)

(5/5)
Derek Young profile image

Derek Young

Canada

I had to go through this course twice, and finally after the second time things clicked. This course is hard but it's very rewarding when the logic becomes "logical" to you.

(5/5)
Erik H profile image

Erik H

United States

This one was really good. It was hard for sure and it made me feel like quitting so many times, but it also made me realise, that if you just keep pushing, you eventually get there. Really like functional programming now. Thank you!!

(5/5)
Yasharth Saxena profile image

Yasharth Saxena

India

Need more practice, doing one exercise for each topic doesnt give me confidence in such big and complex material

(4/5)
Boris Belov profile image

Boris Belov

Norway

Tough but good.

(5/5)
Kelvin Kitheka profile image

Kelvin Kitheka

Netherlands

Read every doc carefully to not get any penalty.

(5/5)
Muhammad Tahmidur RAhmann Khan profile image

Muhammad Tahmidur RAhmann Khan

Bangladesh

Great course - lots to learn and it is structured really well.

(4/5)
Mark Swenson profile image

Mark Swenson

Australia

Definitely not written to the same effectiveness of previous courses I've completed here. I think there needs to be better explanation of concepts. Used more fish on this than anything else so far.

(3/5)
Ozzy M profile image

Ozzy M

Canada

really really hard. this one made me want to quit many times. its way more academic then anything else i have done so far. your gonna stuggle none of this is enjoyable and frankly i wish they would take another look at this course.

(1/5)
Donnie Groot profile image

Donnie Groot

United States

Showing 1-9 of 866

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.