Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

DataCamp

Intermediate Object-Oriented Programming in Python

via DataCamp

Overview

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

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.

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.

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.

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, wrap up the course by architecting and building classes using the factory method design pattern.

Syllabus

  • 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.
  • 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.
  • 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.

Taught by

Jake Roach

Reviews

Start your review of Intermediate Object-Oriented Programming in Python

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.