Skan90 / python-advancing-in-object-oriented-programming

This repository contains the materials for the "Python: Advancing in Object-Oriented Programming" course offered by Alura.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Python Course: Advancing in Object-Oriented Programming

This repository contains the materials for the Python: Advancing in Object-Oriented Programming course offered by Alura.

Course Overview

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

A Summary of the Lessons

Lesson 1: Building Objects and Classes

  • Creating classes
  • Defining accessor methods
  • Utilizing @property

Lesson 2: Inheritance and Generalization/Specialization

  • Understanding Inheritance
  • Generalization and Specialization of classes
  • Using the super() method

Lesson 3: Polymorphism and Relationships

  • Exploring Polymorphism
  • Establishing relationships between classes
  • Textual representation of an object

Lesson 4: Inheriting from Built-In Types

  • Inheriting from a built-in (native) type
  • Advantages of inheriting from an iterable
  • Disadvantages of inheritance

Lesson 5: Duck Typing and Python Data Model

  • Embracing Duck typing
  • Python's data (object) model
  • Dunder methods (special methods)
  • Using Abstract Base Classes (ABCs)

Lesson 6: Multiple Inheritance and Mixins

  • Navigating multiple inheritance
  • Resolution of method call order
  • Implementing Mixins

Prerequisites

To make the most of this course, a basic understanding of Python programming is recommended.

How to Use This Repository

Feel free to clone this repository to your local environment to access the course materials, including example code and practical exercises.

License

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.

About

This repository contains the materials for the "Python: Advancing in Object-Oriented Programming" course offered by Alura.

License:MIT License


Languages

Language:Python 100.0%