Что такое метакласс?

Метакласс определяет создание и поведение объектов-классов. В Python обычные классы создаются метаклассом type; пользовательский метакласс обычно наследует type.

Короткий ответ

Что ответить на собеседовании

Метакласс определяет создание и поведение объектов-классов. В Python обычные классы создаются метаклассом type; пользовательский метакласс обычно наследует type.

Подробный разбор

Ответ с пояснениями

Метакласс определяет создание и поведение объектов-классов. В Python обычные классы создаются метаклассом type; пользовательский метакласс обычно наследует type.

Он может контролировать namespace, проверять определение класса или регистрировать подклассы. Это уровень выше new/init экземпляров: экземпляром метакласса является сам класс. Часто задачу проще решить декоратором класса или init_subclass; метаклассы могут усложнить множественное наследование и сопровождение.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее