Skip to content

Latest commit

 

History

History
42 lines (38 loc) · 1.25 KB

README.md

File metadata and controls

42 lines (38 loc) · 1.25 KB

Introduction to Object Oriented Programming in Python

Objective

Provide a theoretical and practical introduction to OOP in Python for programmers that are new o Object Oriented landscape and for those that wish to understand it better.

Requirements

  • Basic knowledge of Python - syntax, keywords, built-in data types, creating variables, writing nd invoking simple functions, using Python console, executing Python script
  • Installed Python 3.10+ and IDE eg. VS Code, PyCharm
  • Office presence
  • (optional) Jupyter Notbooks

Agenda

  1. Introduction
    • prior knowledge
    • basics
    • class
    • object / instance
  2. Pillars of Object Oriented Programming
    • Encapsulation
      • class / instance attributes
      • bound / class / static methods
      • class initialization
      • information hiding
    • Inheritance
      • inheritance and relationships
      • multiple inheritance (MRO)
      • mixin
      • composition
    • Polymorphism
      • method overriding (super)
      • method overloading (dispatch)
      • callable
      • iteratable
      • subscriptable
    • Abstraction
      • abstract classes
      • abstract methods
      • abstract property
  3. Design considerations
    • Cohesion
    • Coupling