Skip to content
UdemyIntroduction to Computer SciencePaid courseAll LevelsCertificate

Python Object Oriented Programming (OOP): Beginner to Pro (Udemy.com)

Deep OOP Foundations From Absolute Scratch

Created by: Andy Bek

Last updated July 2026

icon
What you will learn

  • Learn Python object-oriented programming from the ground up with in-depth lectures and practice activities
  • Work through 16 detailed project assignments to put your learning to practice
  • Write your own classes with customized behavior, representation, and relationships
  • Understand inheritance and multiple inheritance including best practices and the ideal use cases
  • Understand modern language constructs like dataclasses, enumerations, slots, and more
  • Master the Pythonic style of working with types, built-ins, and their derivatives
  • Get a deep understanding of the more difficult parts including descriptors, abstract base classes and metaprogramming
  • Create your own version of data structures with special behaviour, e.g. a list that sorts itself, or a dictionary that never raises KeyError
  • Work effectively with the exceptions and define your own separate exception hierarchies

How it compares

Against the other 58 rated Udemy courses in Introduction to Computer Science on CourseDuck:

  • Rating4.5 out of 5higher than 44% of them
  • Reviews808#11 of 59 by number of reviews
  • Length26.8 hourslonger than 96% of them
  • Last updatedJuly 2026more recently than 96% of them

icon
Course Description

Welcome to the best resource online and the only one you need to learn and master object-oriented programming with modern python!

There has never been a better time to learn python. It is consistently ranked in the top 3 most in-demand and most-loved programming languages in the world, with applications in machine learning, web development, data science, automation, game development, and much more. And its growth shows no signs of stopping.

But while there are plenty of resources to learn the basics of python, it is quite difficult to move past those to the intermediate and advanced facets of the language. This course seeks to address that.

Over more than 20 hours of detailed lectures, live coding, and guided projects we will unpack everything that python has to offer, starting from absolute scratch. We will master not only object-oriented python and how to use it, but in the process also gain an understanding of the python data model and the essence of writing pythonic code.

Every five to ten lectures we will stop and practice what we have covered, as we work through a list of detailed requirements and convert that to an object-oriented solution using nothing by zero-dependencies, pure python.

––––– Structure & Curriculum –––––

The curriculum is organized around three parts of increasing target proficiency.

In the first, we will cover the essential foundations of working with classes in python, defining our own types, customizing them using dunders, exposing managed attributes through properties and effectively using inheritance.

· Classes

· Dunders

· Properties

· Inheritance

Having established that core foundation, in the next five sections, we will dive into more advanced topics that effective python developers rely on. These include modern features like dataclasses, enumerations and slots but also more established, pivotal constructs like descriptors and exceptions.

· Slots

· Dataclasses

· Descriptors

· Enumerations

· Exceptions

Then in the final four sections we will take a look under the hood at how python recognizes and works with types. We will explore, practice and implement several patterns including duck typing, dynamic protocols and abstract base classes. Finally, we will look at the internal machinery that produces classes in python, as we turn our attention to class metaprogramming.

· Dynamic Protocols

· Abstract Base Classes

· Multiple Inheritance

· Class Metaprogramming

This course is intended for anyone who is committed to mastering object-oriented programming with python, regardless of prior experience, which is why a full-length bonus introduction to the python programming language is included to get anyone up and running writing pythonic code in no time.

I hope you commit to joining me in this journey as we take your python to the next level. See you inside!

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Andy Bek

Hi! I'm Andy, a freelance software developer and capital markets consultant based in Toronto, Ontario. I've spent close to a decade working with data, using code to automate business workflows, and consulting financial institutions on data-intensive applications.

Although I'm comfortable in a number of programming languages, nothing beats python on a ROIE (return on invested effort) basis. It is my go-to language and also my focus here on Udemy.

Aside from teaching, I specialize in consulting financial institutions in post-trade services technology.

icon
More courses by Andy Bek

$99.99

$10.99

$79.99

$84.99

$10.99

$74.99

icon
More Introduction to Computer Science courses

Free

$10.99

$64.99

Free

$59.99

$84.99

icon
Reviews

4.5

808 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Siddharth Srivastava on 11/24/2024

This is an amazing course on Python Object Oriented Programming! First of all, Andy has a practical style of teaching that makes all the concepts easy to digest. The skill challenges force you to really think instead of blind copy pasting. But my favorite thing about this course was Andy really stepping back and explaining what happens under the hood for a lot of these concepts instead of just presenting a concept and how to use it. It really helps understand why python does what it does! Andy is incredibly knowledgeable and has a passion for programming!

By Phani Ranjan on 7/29/2024

Andy Bek is an excellent instructor, and his teaching method has several strengths. He begins each lecture by presenting a problem and then introduces the necessary Python feature to solve it. He thoroughly explains the concept and addresses any potential pitfalls, providing solutions using existing Python features. Occasionally, he explores related topics, adding valuable context to the course material. One of the highlights of his teaching is the skill challenge questions, which present real-world problems and usage patterns for students to solve independently. Afterward, he demonstrates the solution and suggests improvements or refactoring where applicable. Overall, his approach makes learning Python concepts engaging, and I highly recommend this course for advanced Python programming learners.

By Chiefcoiner on 11/24/2023

(Nov-24th-2023) Bulldozing through Section-2 and so far 5-star for great detail and several other positive aspects. I'm hoping the same follows through the rest of the course. Will keep updating as and when Udemy keeps nudging me to leave comments. (Dec-7th-2023) With this course, for a novice programmer like me, I'm now seeing light at the end of the tunnel. Been using several Python-Libraries/Packages, blindly in the past, after this course I'm much more educated as to how OOP is a humongous advantage and so is Python. Thank you Andy. You are the best.

By Robert Barrett on 10/7/2023

Very good tour through the intricacies of Python OOP with high-level detail and reasons why or why not to use certain features. This course gives you the "look behind the curtain" of python OOP features and ties it all nicely together so that you can appreciate more about what is happening when you are using classes and types. I understand some will find the challenges hard or that the instructor is "showing off", but no it is just that at his level he see's things so clearly that its becomes like the tennis player who hits first serves down the tee for fun whilst the rest of us get pumped if we do it once per week! However, I now look at classes and OOP much more clearly than I did and will now work to get to Mr Bek's level of comfort. So do not be put off if the challenges are too hard, just try to do as much as you can and learn from the implementation he provides and then look back from the start and say wow I now know a lot more than most about OOP in python! I struggled but then I am only and intermediate sometime user so I would not expect to be a Mr Bek's level -- yet!

By Alexandra Emily on 9/5/2023

The course as a whole is exactly what it advertises itself as. It goes over Python OOP starting with the assumption that you know nothing and ending with a couple of sections that very few programmers will ever really need to know. 80% of the content is extremely useful to know as a python developer and the 20% that is not incredibly useful is very clearly indicated to be bonus content or content that is very advanced and not likely to be used by most people. The instructor is pretty good at explaining the concepts and rarely gets into very technical tangents. When he does get into technical tangents he indicates that this information can be ignored if the viewer is not interested in it.

By Md. Umar Amin Khan on 8/24/2023

Andy beck I don't care if you read this or not but One thing i would recommend you that you can like select one big project and tell the learners in the end of the section that apply the things you learned in this lesson and you should give quizzes. the skill challenges should be more frequent like when i finish the section and go to skill challenge I just forget everything then i have to rewatch everything again

By Arbaz Khan Shehzad on 7/13/2023

The course "Python Object Oriented Programming (OOP): Beginner to Pro" has proven to be disappointingly futile, filled with an abundance of unnecessary details. Despite its promising title, the content fails to deliver any substantial knowledge on the subject matter. The course creators seem to have a penchant for overindulgence, inundating learners with superfluous information that does little to enhance one's understanding of object-oriented programming. Moreover, the inclusion of irrelevant examples and convoluted explanations only serves to exacerbate the confusion. As a result, students find themselves lost in a sea of inconsequential details, ultimately rendering this course an impractical and unproductive endeavor.

By Yaron Klein on 2/17/2023

Andy Bek's Udemy Python OOP course is both in depth and clear. Not only are all the class dunder/"magic" methods and inheritance explained, but also Python capabilities like properties, enumerations, exceptions, dataclasses, descriptors and meta-classes that are based or add functionality to the basic class construct. 23 hours of video [+ another 3 hours of python basics]. Special lessons are devoted to various "gotchas" and tips - like when to use multiple inheritance. The audio is clear. In fact I listened to the course at x1.25 speed without any problems. Another strong point are the "skill challanges" which clearly show how the various construct can be used. First the challanges are presented - and then a solution is shown step by step. Note that since the videos are based on code being written and explained - It's best viewed on a large screen.

By Abhishek Anand on 12/1/2022

Its a great course by Andy. The course goes in a steady manner and achieve its goals to let the student feel the depth of knowledge. Andy is a great tutor and his way of delivering the knowledge is extremely surgical and to the point. You just need to stick to the course and 'OOP' concept will start to make sense and by the time you complete it, you will have the understanding level of a python professional developer.

By David Aragon Rocha on 9/15/2022

This is an excellent course, the only thing is if you're a non-native English speaker and you still struggling with your listening skills, you'll struggle a lot with this course because the subtitles don't help most of the time. Besides that, the content is amazing, the exercises are excellent to develop your logic skills. This is not meant for beginners, I was kind of new when I started, and it was hard for me at the beginning so besides the OOP content I learned more things by myself throughout the course. I recommend this to everyone who wants to learn OOP, this is worth it and that's why I leave this five-star rating. I've seen a lot of Python content creators and no one explains like Andy; he explains everything in detail, which was the key for me to understand everything even though the complexity of the content and even the skill challenges are explained exceptionally. Again, this is the one if you're looking for an OOP course and don't know which to choose.

Showing all 10 reviews on CourseDuck

Read all 808 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 90 / 100