Intro to Object-Oriented Programming (OOP) in Python

Object-oriented programming (OOP) is one of the biggest and most important subjects in all of programming. This series will provide you with a basic conceptual understanding of object-oriented programming so you can take your Python skills to the next level.

You’ll learn how to define custom types using classes, and how to instantiate those classes into Python objects that can be used throughout your program.

Finally, you’ll learn how classes can subclass one another with a brief introduction to inheritance, which allows you to write maintainable and less redundant Python code.

What’s Included:

Related Learning Paths:

About Austin Cepalia

Austin Cepalia Austin Cepalia

Austin is a video tutorial author at Real Python. He's currently a student working towards a degree in computer science at Rochester Institute of Technology.

» More about Austin

Each tutorial at Real Python is created by a team of developers so that it meets our high quality standards. The team members who worked on this tutorial are:

Participant Comments

vishweshvar on Dec. 4, 2021

This course gave a gentle introduction to OOP, loved the way it was clear, concise and straightforward not beating around the bush, highly recommended for beginners. Thanks Austin, you’re awesome.

Yogi on Oct. 17, 2021

Thank you so much for this great tutorial session. Very well explained for novices like me to get a grasp of the concepts and the usage as well in the initial stages.

Jonathan Chatfield on Oct. 16, 2021

Probably one of the best introductions to classes I have seen.

Terry on April 22, 2021

Great tutorial, I watched it several times and kept coming back for clarity. Within days I wrote two classes/modules and had them running. The concepts, especially the architecture framework, are well explained. This helped me finally get into OOP, Thanks

Walisson on April 15, 2021

Hi all! I’m new here and for sure me a member was the best thing that I did to keep myself on Python Learn track! All videos, articles and stuffs on this website are amazing! Topics are well explained, lean samples and directly to the point. Nice tutorial!

dbristow31 on Jan. 28, 2021

This was a fantastic intro to OOP! The step-by-step process and clear instruction helped me understand concepts I couldn’t before. One topic that was especially difficult for me was the use of the ‘self’ parameter and the ‘initializer.’ This video tutorial clarified those features of OOP and made it easy for me to use them. I’m excited to build on this knowledge with the other OOP video tutorials at RealPython!! Thanks, Austin!

Aparna on April 25, 2020

Excellent!! Crisp and simplistic way of explaining the most confusing terminologies

horacionesman on March 15, 2020

I have been trying to understand OOP for a while and this is the first tutorial in which I’ve started feeling I know what is all about! Thanks!

Dev on Dec. 7, 2019

Very easy to follow. Keep up the great work.

fjavanderspek on Nov. 25, 2019

Great course, clear and concise, with poignant examples! 10/10 honestly, wouldn’t know what to improve

eduartef on Nov. 10, 2019

Thank you so much, really helpful for beginners.

kwf777 on Nov. 7, 2019

Great course and easy to follow and understand.

malcolmgandrews on Oct. 1, 2019

Nice series of tutorials, great pace and clarity.

Jean Ferreira on Sept. 5, 2019

Very good videos. I started learning the concepts of OOP programming at university, but I needed a more visual way to understand the concepts. Thanks!

Kyle on May 6, 2019

Very good introduction!

arnautovdmitry2015 on April 1, 2019

It’s very helpful course. Absolutely nice. Thanks a lot!

Edgar Isai on March 30, 2019

Really good introductions, i got all the concepts, its easy to follow. Thanks.

John T on March 28, 2019

Lovely tutorial. very clear and concise. but dawg , its 2019. use f strings :)

DaveCarlson on March 27, 2019

This was well presented and helpfu. Thanks!

Vincenzo Fiorentini on March 27, 2019

Very good intro even for a complete beginner. Sweet and to the point !

Sohil on March 26, 2019

Very good intro to OOP in python.

Jordan Rowland on March 23, 2019

Great videos. I found my understanding of OOP was really solidified when working with SQLAlchemy for a Flask project, and having Post and User classes.

Thanks. Well paced and a nicely gentle introduction to OOP. At least it is gentle if you already have the basic concepts and are treating this as a refresher :-)

Peter T on March 22, 2019

Austin did an excellent job of clearly explaining the various OOP topics in all 7 videos, without leaving any gaps or questions. Now, I’m anxiously waiting for the next set of OOP videos to continue to this course & I hope they show up soon. IMHO, there aren’t enough OOP topics in realpython.com or dbader.org, but there are tons of other Python-related topics in both sites!

« Browse All Courses