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

Что такое метакласс (metaclass)

Метакласс — это класс, который создаёт другие классы (как класс создаёт объекты). Это механизм, позволяющий контролировать процесс создания классов, например, добавлять атрибуты, методы или изменять поведение.

Пример в Python:

python
class Meta(type):
    def __new__(cls, name, bases, dct):
        dct['extra_attr'] = 42
        return super().__new__(cls, name, bases, dct)

class MyClass(metaclass=Meta):
    pass

print(MyClass.extra_attr)  # Выведет 42

Используется редко, в основном для:

  • Регистрации классов (например, ORM в Django)
  • Валидации атрибутов
  • Автоматического добавления методов

Осторожно: сложность кода с метаклассами резко возрастает!

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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