Python Object-Oriented Programming
1h 57mIntermediate2025-01-27
Authors

Joe Marini
Senior Developer Advocate at Google, Developer
Course details
The object-oriented programming (OOP) features in Python make it easier to build programs of increasing complexity and modularity. In this course with instructor Joe Marini, learn how to apply core OOP principles to build programs that are extensible and efficient. Joe starts with the basics of defining and using classes and objects. Then he moves into more advanced features like abstract base classes and how to implement interfaces. He also details some of the more unique features of Python, like magic class methods to make your classes integrate tightly with the Python language and data classes to dramatically reduce the amount of boilerplate code needed to build data-centric objects.
Skills covered
Object-Oriented ProgrammingPythonProgramming LanguagesOpen SourceSoftware DevelopmentOne-Off
Concepts
0. Introduction
- 01 - Python object-oriented programming
- 02 - What you should know
- 03 - Setting up the development environment
- 04 - Using CoderPad
1. Object-Oriented Python
- 05 - Object-oriented programming refresher
- 06 - Basic class definition
- 07 - Instance methods and attributes
- 08 - Checking instance types
- 09 - Class methods and members
- 10 - Solution - Stocks
2. Inheritance and Composition
- 11 - Understanding inheritance
- 12 - Abstract base classes
- 13 - Using multiple inheritance
- 14 - Interfaces
- 15 - Understanding composition
- 16 - Solution - Stocks and bonds
3. Magic Object Methods
- 17 - What are magic methods
- 18 - String representation
- 19 - Equality and comparison
- 20 - Attribute access
- 21 - Callable objects
- 22 - Solution - Compare objects
4. Data Classes
- 23 - Defining a data class
- 24 - Using post initialization
- 25 - Using default values
- 26 - Immutable data classes
- 27 - Solution - Data classes
Conclusion
- 28 - Next steps