Встречается на 3% собеседований по Python
Как устроен метакласс
Метакласс — это класс, который создаёт другие классы. В 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
интервью вопросы и ответы