Обычный базовый метакласс Python — type. Классы являются его экземплярами, а type также можно вызвать с именем, базами и namespace для динамического создания класса.
Какой базовый метакласс в Python?
Обычный базовый метакласс Python — type. Классы являются его экземплярами, а type также можно вызвать с именем, базами и namespace для динамического создания класса.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Обычный базовый метакласс Python — type. Классы являются его экземплярами, а type также можно вызвать с именем, базами и namespace для динамического создания класса.
Например, type(MyClass) обычно возвращает type, а type(obj) — класс объекта. Собственный метакласс чаще наследуют от type и используют для управления созданием классов. Метакласс не следует путать с базовым классом object: object участвует в наследовании экземпляров, type — в создании и поведении классов. Для простых задач декоратор класса или init_subclass обычно понятнее сложного метакласса.