Skip to content
20 / 22

Что такое metaclass в Python и когда он реально нужен?

Metaclass — это класс класса. Обычные классы — инстансы type; metaclass позволяет менять процесс создания самого класса (валидация, регистрация, инжекция методов). На практике нужен редко: 99% задач решает декоратор класса, __init_subclass__ или дескриптор. Реальные кейсы: ABCMeta (abstract base classes), Django ORM Model, SQLAlchemy declarative base, Pydantic v1 BaseModel, framework registries.

Что такое metaclass в Python и когда он реально нужен? | JScriptiser