Встречается на собеседованиях • сегодня
Что делает __new__ в Python
Метод __new__ отвечает за создание нового экземпляра класса. Он вызывается перед __init__ и возвращает новый объект. В отличие от __init__, который инициализирует уже созданный объект, __new__ контролирует сам процесс создания.
Пример:
python
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 (один и тот же объект)Ключевые моменты:
- Принимает класс (
cls) первым аргументом. - Должен вернуть экземпляр (обычно через
super().__new__). - Полезен для паттернов (например, Singleton) или работы с неизменяемыми типами.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы