Встречается на собеседованиях • сегодня

Где используется метод __new__

Метод __new__ в Python используется для управления созданием экземпляра класса. Он вызывается перед __init__ и возвращает новый экземпляр. Основные случаи использования:

  1. Создание неизменяемых типов (например, int, str, tuple), где нужно контролировать создание объекта.
  2. Реализация паттерна Singleton, чтобы гарантировать единственный экземпляр класса.
  3. Наследование от встроенных неизменяемых типов (например, при создании своего класса-наследника str).

Пример Singleton:

python
class Singleton:
    _instance = None
    
    def __new__(cls):
        if cls._instance is None:
            cls._instance = super().__new__(cls)
        return cls._instance

Важно: __new__ — это статический метод (хотя и не требует декоратора @staticmethod), который первым аргументом принимает класс, а не экземпляр.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы