Встречается на 1% собеседований по Python
Какие методы метакласса (metaclass) вызываются при создании класса
Метакласс управляет созданием класса, и при этом вызываются следующие методы:
__prepare__(cls, name, bases, **kwargs)(опциональный) — вызывается первым, возвращает пространство имён (обычноdict) для хранения атрибутов класса.__new__(mcls, name, bases, namespace, **kwargs)— создаёт и возвращает новый класс.__init__(cls, name, bases, namespace, **kwargs)— инициализирует созданный класс.
Пример:
python
class Meta(type):
@classmethod
def __prepare__(cls, name, bases, **kwargs):
print("__prepare__")
return {}
def __new__(mcls, name, bases, namespace, **kwargs):
print("__new__")
return super().__new__(mcls, name, bases, namespace)
def __init__(cls, name, bases, namespace, **kwargs):
print("__init__")
super().__init__(name, bases, namespace)
class MyClass(metaclass=Meta):
pass
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы