Какие методы метакласса (metaclass) вызываются в момент объявления самого класса

Python Middle Без компании
Какие методы метакласса (metaclass) вызываются в момент объявления самого класса
Ответы
При объявлении класса вызываются следующие методы метакласса: - `__prepare__` (необязательный) - вызывается первым, возвращает пространство имён (обычно dict) для хранения атрибутов класса. Позволяет кастомизировать хранилище атрибутов. ``` @classmethod def __prepare__(metacls, name, bases, **kwargs): return OrderedDict() ``` - `__new__` - создаёт и возвращает новый класс. Получает метакласс, имя класса, кортеж базовых классов и пространство имён (из `__prepare__`). ``` def __new__(metacls, name, bases, namespace, **kwargs): return super().__new__(metacls, name, bases, namespace) ``` - `__init__` - инициализирует созданный класс. Аналогичен обычному `__init__`, но для классов. ``` def __init__(cls, name, bases, namespace, **kwargs): super().__init__(name, bases, namespace) ``` Порядок вызова: `__prepare__` → `__new__` → `__init__`. Эти методы позволяют полностью контролировать процесс создания класса.