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 you'll learn in this Python course

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 61,836 students in the Learn Object Oriented Programming in Python course

Read reviews of their learning experiences

Excellent and fun

(5/5)
Eli N profile image

Eli N

Spain

Good baseline for OOP

(5/5)
griffMcTall  profile image

griffMcTall

Canada

Never before have I understood Object-Oriented Programming as much as I do now. This course helps lay out, fundamentally, how to use OOP effectively and why OOP is useful. 5 Stars, definitely worth.

(5/5)
Penzil Bigley profile image

Penzil Bigley

United States

In-line with expectations I'd had for an OOP course and delivers challenging assignments that have direct and relatively simple solutions I tended to overthink

(5/5)
Zethu Gola profile image

Zethu Gola

Gqeberha, South Africa

cool

(5/5)
Erin Enoch profile image

Erin Enoch

United States

This course introduced the useful parts of OOP as implemented in popular languages like Python, Java, and C++ and it did a good job of explaining how to stay away from the pitfalls of OOP (deep class hierarchies, for one). But I do think it could have done a better job introducing how to write constructors of subclasses when a subclass has instance variables that need to be initialized that the superclass doesn't have.

(4/5)
Sharat Buddhavarapu profile image

Sharat Buddhavarapu

United States

It was really difficult to understand without the help of Boots. But, pushing through the challenges really helped with gaining the understand!

(5/5)
Chewy Tang profile image

Chewy Tang

Singapore

Good

(5/5)
hakam saboini profile image

hakam saboini

Netherlands

All OOP principles are understood now <3

(5/5)
Tawfik Tarek profile image

Tawfik Tarek

Egypt

Showing 1-9 of 1526

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

It's a way to organize code by grouping data and the functions that work on it into classes. Python supports it fully, but doesn't force it on you, so knowing when a class helps and when it just adds complexity is something we talk about in the course.