В чем разница между __new__ и __init__

Python Middle Без компании
В чем разница между __new__ и __init__
Ответы
`__new__` **и** `__init__` — это два метода, участвующих в создании объекта в Python, но они выполняют разные задачи и вызываются на разных этапах. ### **Краткая суть:** `__new__` — **Создатель** (конструктор): создаёт новый пустой объект в памяти и возвращает его. `__init__` — **Инициализатор**: наполняет созданный объект данными (атрибутами). ### *Пример кода:* ``` class Example: def __new__(cls, *args, **kwargs): print("Вызван __new__: Создаём объект") # Создаём объект, вызывая __new__ базового класса (object) instance = super().__new__(cls) return instance # Возвращаем созданный объект def __init__(self, value): print("Вызван __init__: Инициализируем объект") self.value = value # Наполняем объект данными # Создаём экземпляр obj = Example(10) # Вывод: # Вызван __new__: Создаём объект # Вызван __init__: Инициализируем объект print(obj.value) # 10 ```