Python, Object Orientation, and How Things Work

Description

In this final seminar in our series, we will focus narrowly on some of the advanced aspects of object orientation.

We'll talk about the motivation, mechanics, and metaphors behind:

- __new__, __init__, and object construction/instance creation

- __build_class__, metaclasses, __init_subclass__, and type construction

- the getattr protocol, descriptors, @property, @classmethod, @staticmethod, and instance methods

- generators, coroutines, __next__, send, and the new asyncio protocols (__await__, __aiter__)

- context managers, __enter__, __exit__ and the new asyncio protocols (__aenter__, __aexit__)