Back to questions
Junior — Middle
66
Что происходит сначала: выполнение конструктора при создании объекта или вызов метода init?
Answer from AI
sobes.tech AI
В Python при создании объекта сначала вызывается метод __new__, который отвечает за создание экземпляра класса, затем вызывается конструктор __init__, который инициализирует созданный объект.
Метода init как отдельного стандартного метода в Python нет, возможно, имеется в виду __init__.
Итого, порядок:
__new__— создание объекта__init__— инициализация объекта
Пример:
class MyClass:
def __new__(cls, *args, **kwargs):
print('Создание объекта')
return super().__new__(cls)
def __init__(self):
print('Инициализация объекта')
obj = MyClass()
Вывод:
Создание объекта
Инициализация объекта