This directory is an introduction to Object Oriented Programming (OOP) and covers:
- Python Classes
- object and instance
- difference between a class and an object or instance
- attribute
- how to use public, protected and private attributes
- self
- method
- the special init method and how to use it
- Data Abstraction, Data Encapsulation, and Information Hiding
- properties
- the difference between an attribute and a property in Python
- the Pythonic way to write getters and setters in Python
- how to dynamically create arbitrary new attributes for existing instances of a class
- how to bind attributes to object and classes
- the dict of a class and/or instance of a class and what it contains
- how Python finds the attributes of an object or class
- the getattr function