Skip to main content

Course

Intermediate Object-Oriented Programming in Python

Advanced4 hr

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

Python4 hr11 videos40 Exercises3,300 XP9,139Statement of accomplishment

Create Your Free Account

Continue with Google
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

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

Curriculum

Course outline

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

Enroll Now

Grow your data skills with DataCamp for Mobile

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