Встречается на собеседованиях • сегодня
Как устроен метакласс
Метакласс — это класс, который создаёт другие классы. В Python метаклассы контролируют создание классов, подобно тому как классы контролируют создание экземпляров.
По умолчанию метаклассом является type. Когда вы определяете класс, Python вызывает type.__new__() для его создания.
Пример метакласса:
python
class Meta(type):
def __new__(cls, name, bases, namespace):
print(f"Создание класса {name}")
return super().__new__(cls, name, bases, namespace)
class MyClass(metaclass=Meta):
pass # Выведет: "Создание класса MyClass"
text
**Как это работает:**
1. Python ищет метакласс в определении класса (`metaclass=Meta`).
2. Вызывает `Meta.__new__()`, передавая имя класса, родительские классы и атрибуты.
3. Метакласс может модифицировать создаваемый класс (например, добавить методы, проверить атрибуты).
Используется редко, в основном для:
- Валидации атрибутов класса.
- Автоматической регистрации классов (например, в ORM).
- Изменения поведения наследования.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы