На каком этапе происходит инициализация класса в Python
Python
Junior
Без компании
На каком этапе происходит инициализация класса в Python
Ответы
Инициализация класса в Python происходит в несколько этапов:
- **Создание класса** (при интерпретации кода) - Python создаёт объект класса, заполняет его атрибуты и методы.
- **Вызов **new**** - создаёт экземпляр класса (обычно делегируется object.**new**).
- **Вызов **init**** - инициализирует созданный экземпляр (устанавливает начальные атрибуты).
Пример:
```
class MyClass:
def __new__(cls, *args, **kwargs):
print("__new__ called")
return super().__new__(cls)
def __init__(self):
print("__init__ called")
obj = MyClass() # Выведет: __new__ called, затем __init__ called
```
Важно: `__new__` создаёт экземпляр, `__init__` его инициализирует. Метаклассы могут влиять на процесс создания класса.