Что такое метакласс в Python?
Уровень: Senior
Ответ
Метакласс – это класс, экземплярами которого являются другие классы. Проще говоря, метакласс определяет, как создаются классы. В Python у каждого класса есть атрибут __class__ – обычно это тип “type”, который и является базовым метаклассом. Переопределяя метакласс (через параметр metaclass в определении класса), можно изменять процесс создания классов: например, автоматически добавлять атрибуты, регистрировать классы в реестре и т.д.