Назад к вопросам
Middle+
5
__init__ создаёт объект?
Компании, где спрашивали
cleverbots
Ответ от нейросети
sobes.tech AI
Метод __init__ в Python не создаёт объект, он инициализирует уже созданный объект.
Когда вы вызываете класс, например obj = MyClass(), сначала вызывается метод __new__, который отвечает за создание нового экземпляра класса (объекта). После того, как объект создан, вызывается __init__, который инициализирует этот объект — задаёт начальные значения атрибутов и выполняет другую подготовку.
Пример:
class MyClass:
def __new__(cls, *args, **kwargs):
print("Создаём объект")
return super().__new__(cls)
def __init__(self, value):
print("Инициализируем объект")
self.value = value
obj = MyClass(10)
Вывод будет:
Создаём объект
Инициализируем объект
Таким образом, __init__ — это не конструктор в классическом понимании, а метод инициализации объекта после его создания.