Встречается на собеседованиях • сегодня

Для чего нужен metaclass

Metaclass в Python — это механизм, который управляет созданием классов (как класс управляет созданием объектов). Он позволяет кастомизировать процесс создания класса, добавлять проверки, изменять атрибуты или методы на этапе его определения.

Основные сценарии использования:

  1. Контроль создания классов — например, проверка наличия обязательных атрибутов.
  2. Регистрация классов — автоматическая регистрация в каком-либо реестре.
  3. Изменение поведения классов — добавление/удаление методов или атрибутов.

Пример:

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  # Без этого будет ошибка
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы