Skip to main content
HomePython

Course

Intermediate Object-Oriented Programming in Python

AdvancedSkill Level
4.8+
883 reviews
Updated 02/2025
Build your OOP skills with descriptors, multilevel inheritance, and abstract base classes!
Start Course for Free
PythonProgramming
4 hr
11 videos
40 Exercises
3,300 XP
8,253
Statement of Accomplishment

Create Your Free Account

or

By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.

Loved by learners at thousands of companies

Group

Training a Team?

Try for Business

Course Description

Level up your OOP skills!

Ready to unlock the power of object-oriented programming? You’re in the right place! In this course, you’ll build on the foundations of object-oriented programming to develop and hone the skills you need to write robust, production-ready code with Python.

Multilevel inheritance and method overloading

Apply the basic principles of inheritance to create classes that inherit functionality from more than a single parent. Unlock a new array of capabilities with method overloading to create your own implementations of built-in operators, enabling your classes to be used in new and exciting ways.

Type Hinting and Descriptors

Take your skills to the next level with type hinting, and watch as your code becomes easier to read, write, and troubleshoot. Customize the way an attribute is set, accessed, and deleted using descriptors and other Python-native techniques. Learn to build your own custom iterators to navigate a collection or generate a stream of data.

Abstract Base Classes and Design Patterns

Discover the power of abstract base classes and how they can be used to create "blueprints" for similar classes. Practice building formal and informal interfaces to create and implement contracts between classes. Finally, the course will be wrapped up by architecting and building classes using the factory method design pattern.

Prerequisites

Introduction to Object-Oriented Programming in Python
1

Overloading and Multiple Inheritance

Recall the fundamentals of object-oriented programming, and unlock the functionality of Python operators using overloading. Design and build classes that implement multiple and multilevel inheritance.
Start Chapter
2

Custom Class Features and Type Hints

Level-up your Python skills with type hinting. Practice creating magic methods to handle attempts to access an attribute outside an object’s namespace, or customize how an attribute is set. Build descriptors to control the way an attribute is stored, retrieved or deleted, and create your own custom iterators to traverse a collection of objects or a data stream.
Start Chapter
3

Object-oriented design patterns

Intermediate Object-Oriented Programming in Python
Course
Complete

Earn Statement of Accomplishment

Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
Enroll Now

Don’t just take our word for it

*4.8
from 883 reviews
84%
15%
1%
0%
0%
  • Vladimir
    2 days ago

  • Mohammadreza
    2 days ago

  • Nuno
    2 days ago

  • David
    2 days ago

  • Toan
    3 days ago

  • Mohamed Maged
    4 days ago

Vladimir

Nuno

Toan

FAQs

What OOP concepts does this course build on?

It builds on basic class creation and single inheritance, advancing to multiple inheritance, method overloading, descriptors, custom iterators, abstract base classes, and design patterns.

Does the course cover type hinting in Python?

Yes. Chapter 2 introduces type hinting to make your code easier to read, write, and troubleshoot, and shows how to apply it to class methods and attributes.

What design patterns are taught in this course?

You will learn the factory method design pattern, plus how to build abstract base classes as blueprints and formal and informal interfaces as contracts between classes.

Is introductory OOP knowledge required before starting?

Yes. You should complete Introduction to Object-Oriented Programming in Python along with courses on functions and intermediate Python concepts.

What practical skills will I gain from the custom iterators section?

You will learn to build your own iterators to traverse collections or generate data streams, a skill used in production code for handling large datasets efficiently.

Join over 19 million learners and start Intermediate Object-Oriented Programming in Python today!

Create Your Free Account

or

By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.

Grow your data skills with DataCamp for Mobile

Make progress on the go with our mobile courses and daily 5-minute coding challenges.