Декораторы позволяют менять поведение функции не изменяя ее кода. Это становится возможным благодаря тому, что функции в Python могут принимать и возвращать функции. Декоратор в Python - это реализация структурного шаблона проектирования «Декоратор».
Сопрограммы (corutines) в Python
Разбираемся в различиях между понятиями итератора (iterator), итерируемого объекта (iterable) и генератора. Реализация итераторов на языке Python и преимущества их использования.
ИМХО
Разберем как создать контекстный менеджер из класса или генератора (декоратор @contextmanager), что такое вложенные и асинхронные менеджеры контекста. Код примеров контекстных менеджеров на языке Python.