Course Information
Course Overview
Python Object Oriented Programming (OOP)
This Python3: Deep Dive Part 4 course takes a closer look at object oriented programming (OOP) in Python.
MAIN COURSE TOPICS
what are classes and instances
class data and function attributes
properties
instance, class and static methods
polymorphism and the role special functions play in this
single inheritance
slots
the descriptor protocol and its relationship to properties and functions
enumerations
exceptions
metaprogramming (including metaclasses)
COURSE PREREQUISITES
Please note this is NOT a beginner level course. You must have a strong working knowledge of functional Python programming as well as some practical experience developing Python applications in order to fully benefit from this course.
In-depth functional Python programming
functions, closures, scopes, decorators (using and writing them)
zip, sorted, any, all, and the itertools module in general
sequences, iterables, iterators and generators (what they are and how to implement the corresponding protocols)
generators, yield, and context managers
mapping types, hashing and relation to object equality
some prior knowledge of basic OOP concepts
know how to work with Python virtual environments and pip install
available Jupyter Notebook (freely available) to follow along with the course notebooks
how to use git
[Please note that this is not a cookbook style course - I don't show you how to solve specific problems, but rather a broad and in-depth look at how OOP works in the context of Python, that will allow you to apply these concepts and techniques to your own problems.]
Course Content
- 10 section(s)
- 166 lecture(s)
- Section 1 Introduction
- Section 2 Classes
- Section 3 Project 1
- Section 4 Polymorphism and Special Methods
- Section 5 Project 2
- Section 6 Single Inheritance
- Section 7 Project 3
- Section 8 Descriptors
- Section 9 Project 4
- Section 10 Enumerations
What You’ll Learn
- Python Object Oriented Concepts
- Classes
- Methods and Binding
- Instance, Class and Static Methods
- Properties
- Property Decorators
- Single Inheritance
- Slots
- Descriptors
- Enumerations
- Exceptions
- Metaprogramming
Skills covered in this course
Reviews
-
MMarcos Teixeira Camara
From start to finish, Python 3: Deep Dive (Part 4 – OOP) is a masterclass in how to teach object-oriented programming in Python at a deep, conceptual level. Dr. Fred Baptiste doesn’t just show you how to write classes — he reveals why Python’s OOP works the way it does, walking you through layers you seldom see in ordinary tutorials. For intermediate to advanced Python developers who want to go beyond “how to code” and actually understand Python’s OOP model inside and out, this course is a gem. Dr. Baptiste’s clarity, structure, and depth set it apart. If you’re willing to put in the time, the payoff is profound: you’ll come away with insights most developers never get. If you’re less confident in Python fundamentals, it’s wise to take Part 1–3 of his Deep Dive series (or other strong foundational courses) first, so you can fully absorb Part 4. Overall, Python 3: Deep Dive (Part 4 – OOP) is one of the most rigorous, rewarding, and intellectually satisfying courses I’ve seen on Python’s object model.
-
HHali̇l İbrahi̇m Üstün
The best Python course you can take in 2025. This guy doesn’t just show you how to code, he explains the fundamentals of how things work and why they work that way. The course focuses on what’s happening under the hood, and the way he teaches carries over to other object-oriented languages too. So, if you want to understand how OOP works in programming in general, this is the course to get. Honestly, I hope he makes an SQL course someday as well.
-
JJhonatan Luis Morgan Bartra
So far, i ve found a good course with right explanation and deep concepts that explain how this works. Recommended
-
JJorge B Jiménez
An excellent course that delves into the depth of knowledge to give a better understanding of such an excellent language.