Зачем нужен метод __new__

Python Middle Без компании
Зачем нужен метод __new__
Ответы
Метод `__new__` отвечает за создание нового экземпляра класса, а `__init__` — за его инициализацию. `__new__` вызывается перед `__init__` и возвращает новый экземпляр. Основные случаи использования: - **Создание неизменяемых объектов** (например, кортежей, строк), где нужно контролировать процесс создания. - **Реализация паттерна Singleton** — гарантирует единственный экземпляр класса. - **Кастомизация создания объектов** (например, возврат существующего экземпляра вместо нового). Пример Singleton: ``` class Singleton: _instance = None def __new__(cls, *args, **kwargs): if cls._instance is None: cls._instance = super().__new__(cls) return cls._instance a = Singleton() b = Singleton() print(a is b) # True ```