Skip to main content
HomePython

Intermediate Object-Oriented Programming in Python

Build your OOP skills with descriptors, multilevel inheritance, and abstract base classes!

Start Course for Free
4 hours11 videos40 exercises

Create Your Free Account

GoogleLinkedInFacebook

or

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

Training 2 or more people?

Try DataCamp for Business

Loved by learners at thousands of companies


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.
For Business

Training 2 or more people?

Get your team access to the full DataCamp platform, including all the features.
DataCamp For BusinessFor a bespoke solution book a demo.

In the following Tracks

Building Applications with OOP in Python

Go To Track

Python Developer

Go To Track
  1. 1

    Overloading and Multiple Inheritance

    Free

    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.

    Play Chapter Now
    Fundamentals of Object-Oriented Programming
    50 xp
    Creating and using classes
    100 xp
    Inheriting a Computer class
    100 xp
    Overloading the == operator
    100 xp
    Overloading Python Operators
    50 xp
    Overloading ==
    100 xp
    Overloading +
    100 xp
    Creating a Network of Computers
    100 xp
    Multiple Inheritance
    50 xp
    Multiple inheritance
    100 xp
    Multilevel inheritance
    100 xp
    MRO for multiple inheritance
    50 xp
  2. 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.

    Play Chapter Now
  3. 3

    Object-oriented design patterns

    Learn to build "blueprints" for Python classes using abstract base classes. Explore how interfaces create contracts to be fulfilled by other classes. Leverage interfaces and build classes using the factory method design pattern.

    Play Chapter Now
For Business

Training 2 or more people?

Get your team access to the full DataCamp platform, including all the features.

In the following Tracks

Building Applications with OOP in Python

Go To Track

Python Developer

Go To Track

collaborators

Collaborator's avatar
George Boorman
Collaborator's avatar
Katerina Zahradova
Collaborator's avatar
Stan Konkin

prerequisites

Introduction to Object-Oriented Programming in Python
Jake Roach HeadshotJake Roach

Data Engineer

Jake Roach is a Field Data Engineer at Astronomer and DataCamp Instructor. A former Lead Data Engineer, Jake built a a state-of-the-art data platform for a multi-billion dollar organization, powered by Astronomer, Airflow, AWS, and Databricks. His passion for all things data engineering is contagious. Jake loves to write tutorials, teach DataCamp courses, and contribute to open source. Born and raised in Buffalo, NY, when he's not working with data, you can find him out at the golf course playing a quick nine holes before dark!
See More

What do other learners have to say?

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

Create Your Free Account

GoogleLinkedInFacebook

or

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