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

Learn Object Oriented Programming in Python

Use classes when they help, skip the complexity when they don't, and learn OOP as a practical way to organize code.

What will you learn?

Learn the fundamentals of the most widely-used programming paradigm today: object-oriented programming. You will model real-world problems within your programs, and learn how to write code that is easy to understand and maintain. By the end of this course you'll be writing production-quality Python code.

Chapter List

1
Clean Code
Understand why we have programming paradigms in the first place, and how they help us write more maintainable code
2
Classes
Learn about classes and objects, and how OOP differs from a functional programming paradigm.
3
Encapsulation
Learn how to write cleaner code by encapsulating data and methods.
4
Abstraction
Abstraction is a powerful tool that will make your code more robust and reusable.
5
Inheritance
The crux of OOP is the ability to inherit data and behaviors from other classes
6
Polymorphism
Polymorphism is one of the best ideas we've had as developers, learn how it works.

Join 54,124 students in the Learn Object Oriented Programming in Python course

Read reviews of their learning experiences

was a hard one for me but got through it. onwards and forwards

(4/5)
deepak yanamala profile image

deepak yanamala

India

I've never seen a clearer explanation of what OOP really is. The entire platform is great, but this course was, so far, the best one. Love it!

(5/5)
Paweł Jakubowski profile image

Paweł Jakubowski

Poland

amazing course

(5/5)
Athanasios Kostopoulos profile image

Athanasios Kostopoulos

Ioannina, Greece

This course helped me better understand the nuances of OOP.

(4/5)
Jade Sobers profile image

Jade Sobers

United States

Tough but rewarding, I think OOP is one of the most important things regarding Python, and this course explains the pillars well!

(5/5)
Kamron Swingle profile image

Kamron Swingle

United States

quite the headwreck, the theory makes sense in theory but in practice nested inherited classes get very confusing very fast. Possibly the usage of private class variables could be explained in a bit more depth with more examples too? current one works but i lost the idea quickly due to its complexity. Great course overall though! keep on it guys!

(4/5)
Michal Szczepan profile image

Michal Szczepan

Ireland

Great introduction to OOP

(5/5)
Mateusz Gancarczyk profile image

Mateusz Gancarczyk

Poland

Very nice!

(4/5)
xqsme  profile image

xqsme

Netherlands

was a challenge, but Ive heard functional programming is even harder so F ME LOL (great course, I learned so much)

(5/5)
Alex Biundo profile image

Alex Biundo

Mexico

Showing 1-9 of 1240

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.