Встречается на 5% собеседований по Python
Для чего нужен metaclass
Metaclass в Python — это механизм, который управляет созданием классов (как класс управляет созданием объектов). Он позволяет кастомизировать процесс создания класса, добавлять проверки, изменять атрибуты или методы на этапе его определения.
Основные сценарии использования:
- Контроль создания классов — например, проверка наличия обязательных атрибутов.
- Регистрация классов — автоматическая регистрация в каком-либо реестре.
- Изменение поведения классов — добавление/удаление методов или атрибутов.
Пример:
python
class Meta(type):
def __new__(cls, name, bases, dct):
if 'required_attr' not in dct:
raise TypeError("Обязательный атрибут 'required_attr' отсутствует")
return super().__new__(cls, name, bases, dct)
class MyClass(metaclass=Meta):
required_attr = 42 # Без этого будет ошибка
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы