Sobes.tech
Junior — Middle
93

Cosa succede prima: l'esecuzione del costruttore durante la creazione di un oggetto o la chiamata del metodo init?

Risposta dell'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()

Вывод:

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