PEP 3119 — введение Abstract Base Classes в Python. До ABC: duck typing без формального контракта. ABC: from abc import ABC, abstractmethod — формальные интерфейсы. isinstance(obj, ABC) — проверка принадлежности. register() — виртуальное наследование: MyABC.register(ExistingClass). __subclasshook__ — кастомная логика isinstance. collections.abc: Iterable, Mapping, Sequence, MutableMapping — стандартные ABC. Зачем: документирование интерфейсов, ранний feedback (TypeError при создании), isinstance проверки. ABCMeta — метакласс, ABC = ABCMeta как базовый класс. Основа для формальных интерфейсов в Python.
Что такое PEP 3119 (ABC)?
Senior
146 просмотровAFK Offer AI
Что такое 12-factor app применительно к Python?