Разница между __new__ и __init__
Python
Senior
JetBrains
01.01.2025
Объясните разницу между методами `__new__` и `__init__` и покажите пример класса, использующего `__new__`.
Ответы
Ответ
```python
# __new__ создаёт объект, __init__ инициализирует его
class Singleton:
_instance = None
def __new__(cls, *args, **kwargs):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instance
def __init__(self, value):
self.value = value
```