YoVDO

Intermediate Object-Oriented Programming in Python

Offered By: DataCamp

Tags

Object-oriented programming Courses Python Courses Inheritance Courses

Course Description

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

Related Courses

Introduction à la programmation orientée objet (en Java)
École Polytechnique Fédérale de Lausanne via Coursera
Useful Genetics Part 2
The University of British Columbia via Coursera
Object-Oriented Programming
Indian Institute of Technology Bombay via edX
Java für Einsteiger
openHPI
Computing: Art, Magic, Science - Part II
ETH Zurich via edX