Advanced Perspective of Classes and Object-Oriented Programming in Python

By Keith Thompson

A deeper dive into Python's classes and object-oriented programming.

10.9 hours
  • 47 Lessons
  • 7 Hands-On Labs

About the course

The Advanced Perspective of Classes and Object-Oriented Programming in Python course will teach you how to utilise more complex aspects of object-oriented programming. We’re going to cover:

  • Inheritance
  • Composition & Polymorphism
  • Attribute Encapsulation
  • Variadic Functions
  • Decorators
  • Comparing and Copying Objects
  • Abstract Classes and Metaprogramming
  • Advanced Exceptions
  • Object Serialization

After completing this course, you’ll understand composition and inheritance (and when to use each one), along with other advanced features of the language.

To get the most out of this course, you should be proficient at basic object-oriented programming, including creating classes in Python. If you need to get up to speed on these skills, we recommend checking out The Certified Entry-Level Python Programmer Certification (PCEP) course, or Introduction to Python Development.

  • Chapter 1 2 Lessons Introduction 8:48

    Course Introduction

    2:15

    Installing Python 3.9 on a Cloud Playground

    6:33
  • Chapter 2 6 Lessons Object-Oriented Programming Refresher 1:22:53

    Object-Oriented Programming Terms and Jargon

    4:36

    Class Variables vs. Instance Variables

    10:33

    Internal Values and Object Inspection

    7:11

    Customizing Double Underscore Methods

    10:53

    Object-Oriented Programming Summary

    4:40

    Overriding Comparison Operators in Python

    45:00 Hands-On Lab
  • Chapter 3 7 Lessons Inheritance 1:59:45

    Inheritance Overview

    4:44

    Multiple Inheritance

    7:56

    Method Resolution Order (MRO)

    9:06

    Static and Class Methods

    8:32

    Subclassing Built-in Classes

    7:47

    Inheritance Summary

    6:40

    Building Class Hierarchies with Inheritance in Python

    1:15:00 Hands-On Lab
  • Chapter 4 4 Lessons Composition and Polymorphism 1:08:33

    Composition Overview

    4:22

    Polymorphism and Duck Typing

    2:03

    Composition vs. Inheritance

    2:08

    Using Composition in Python to Separate Concerns

    1:00:00 Hands-On Lab
  • Chapter 5 2 Lessons Attribute Encapsulation 9:39

    Hiding Attributes

    2:12

    Using @property

    7:27
  • Chapter 6 1 Lesson Variadic Functions 3:35

    What are Variadic Functions?

    3:35
  • Chapter 7 6 Lessons Decorators 1:29:04

    Decorator Overview

    4:28

    Stacking Decorators

    6:07

    Creating Class-Based Decorators

    6:02

    Decorating Classes

    6:43

    Decorators Summary

    5:44

    Benchmarking Functions with Python Decorators

    1:00:00 Hands-On Lab
  • Chapter 8 4 Lessons Comparing and Copying Objects 1:11:57

    Comparison and Variable Referencing

    2:58

    ==, is, and id

    2:40

    Slicing, Copying, and Deep Copying

    6:19

    Cloning and Modifying Mutable Objects in Python

    1:00:00 Hands-On Lab
  • Chapter 9 5 Lessons Abstract Classes and Metaprogramming 1:43:26

    Overview of Abstract Classes

    3:05

    What is Metaprogramming?

    4:53

    The type Class

    17:09

    Abstract Classes and Metaprogramming Summary

    3:19

    Utilizing Metaprogramming in Python

    1:15:00 Hands-On Lab
  • Chapter 10 4 Lessons Advanced Exceptions 20:50

    Exception Overview

    3:38

    Working with Exception Attributes

    6:27

    Chaining Exceptions

    6:01

    Working with Traceback

    4:44
  • Chapter 11 4 Lessons Object Serialization 1:13:30

    Overview of Python Object Serialization

    3:14

    Using Pickle

    5:43

    Using Shelve

    4:33

    Serializing Python Objects with Pickle and Shelve

    1:00:00 Hands-On Lab
  • Chapter 12 2 Lessons Conclusion 3:52

    Course Summary

    2:09

    Conclusion and What's Next

    1:43

What are Hands-on Labs

What's the difference between theoretical knowledge and real skills? Practical real-world experience. That's where Hands-on Labs come in! Hands-on Labs are guided, interactive experiences that help you learn and practice real-world scenarios in real cloud environments. Hands-on Labs are seamlessly integrated in courses, so you can learn by doing.

Get Started
Who’s going to be learning?
Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!