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 is a video tutorial author at Real Python. He graduated with a BS in CS from Rochester Institute of Technology in 2023, and now he writes software to support the semiconductor industry.

» 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

Avatar image for vishweshvar

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.

Avatar image for Yogi

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.

Avatar image for Jonathan Chatfield

Jonathan Chatfield on Oct. 16, 2021

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

Avatar image for Terry

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

Avatar image for Walisson

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!

Avatar image for dbristow31

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!

Avatar image for Aparna

Aparna on April 25, 2020

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

Avatar image for horacionesman

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!

Avatar image for Dev

Dev on Dec. 7, 2019

Very easy to follow. Keep up the great work.

Avatar image for fjavanderspek

fjavanderspek on Nov. 25, 2019

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

Avatar image for eduartef

eduartef on Nov. 10, 2019

Thank you so much, really helpful for beginners.

Avatar image for kwf777

kwf777 on Nov. 7, 2019

Great course and easy to follow and understand.

Avatar image for malcolmgandrews

malcolmgandrews on Oct. 1, 2019

Nice series of tutorials, great pace and clarity.

Avatar image for Jean Ferreira

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!

Avatar image for Kyle

Kyle on May 6, 2019

Very good introduction!

Avatar image for arnautovdmitry2015

arnautovdmitry2015 on April 1, 2019

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

Avatar image for Edgar Isai

Edgar Isai on March 30, 2019

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

Avatar image for John T

John T on March 28, 2019

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

Avatar image for DaveCarlson

DaveCarlson on March 27, 2019

This was well presented and helpfu. Thanks!

Avatar image for Vincenzo Fiorentini

Vincenzo Fiorentini on March 27, 2019

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

Avatar image for Sohil

Sohil on March 26, 2019

Very good intro to OOP in python.

Avatar image for Jordan Rowland

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 :-)

Avatar image for Peter T

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