PYTHON РАЗНИЦА МЕЖДУ INIT И NEW

В Python есть два основных метода для создания объектов: __new__ и __init__. __new__ отвечает за создание объекта и возвращает его, в то время как __init__ отвечает за инициализацию объекта и не возвращает ничего.

__new__ вызывается первым, когда нужно создать новый объект, например, когда вы вызываете конструктор:

class MyClass: def __new__(cls): print("__new__ called") obj = super().__new__(cls) return obj def __init__(self): print("__init__ called")obj = MyClass()

В этом коде конструктор MyClass вызывает __new__, который возвращает новый объект. Затем __init__ вызывается для этого объекта.

__init__ вызывается после __new__ и принимает только один аргумент: self. Self ссылается на только что созданный объект, и вы можете использовать его для установки атрибутов:

class MyClass: def __init__(self): self.x = 0 self.y = 0obj = MyClass()print(obj.x, obj.y)

В этом примере мы устанавливаем атрибуты x и y объекта MyClass в 0 в __init__.

В общем, __new__ используется для создания объекта, а __init__ используется для инициализации его атрибутов.

what is the difference between new and init in python

PYTHON MAGIC METHODS. __INIT__ и __NEW__

#4. Магический метод __new__. Пример паттерна Singleton - Объектно-ориентированное программирование

Python для начинающих. Урок 15: Конструкторы. Метод __init__().

\

ООП 15 Магические методы. Методы __str__ и __repr__. (Dunder methods)

Собеседование python разработчик в мой стартап - Федор (пожелал остаться неизвестным)

What is the difference between new and init in python hindi

BLGPG-118B4D862069-24-09-20-01

Новые материалы: