This repository contains the materials for the Python: Advancing in Object-Oriented Programming course offered by Alura.
In this course, I will be diving into advanced object-oriented programming concepts in Python. Here's an overview of the topics covered:
- Understanding Duck Typing and its purpose
- Creating abstract classes and using multiple inheritance
- Learning about Python's data model
- Exploring Mixins and Class Extensions
- Understanding the difference between str and repr
- Creating classes
- Defining accessor methods
- Utilizing @property
- Understanding Inheritance
- Generalization and Specialization of classes
- Using the super() method
- Exploring Polymorphism
- Establishing relationships between classes
- Textual representation of an object
- Inheriting from a built-in (native) type
- Advantages of inheriting from an iterable
- Disadvantages of inheritance
- Embracing Duck typing
- Python's data (object) model
- Dunder methods (special methods)
- Using Abstract Base Classes (ABCs)
- Navigating multiple inheritance
- Resolution of method call order
- Implementing Mixins
To make the most of this course, a basic understanding of Python programming is recommended.
Feel free to clone this repository to your local environment to access the course materials, including example code and practical exercises.
The materials provided in this repository are subject to the license provided by Alura. Please refer to Alura's website for the most up-to-date information regarding the terms of use for this material.