Встречается на собеседованиях • сегодня
Для чего нужен 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
интервью вопросы и ответы