Sobes.tech
Back to questions
Junior — Middle
66

Что происходит сначала: выполнение конструктора при создании объекта или вызов метода init?

Answer from AI

sobes.tech AI

В Python при создании объекта сначала вызывается метод __new__, который отвечает за создание экземпляра класса, затем вызывается конструктор __init__, который инициализирует созданный объект.

Метода init как отдельного стандартного метода в Python нет, возможно, имеется в виду __init__.

Итого, порядок:

  1. __new__ — создание объекта
  2. __init__ — инициализация объекта

Пример:

class MyClass:
    def __new__(cls, *args, **kwargs):
        print('Создание объекта')
        return super().__new__(cls)

    def __init__(self):
        print('Инициализация объекта')

obj = MyClass()

Вывод:

Создание объекта
Инициализация объекта