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

Что делает паттерн Singleton

Паттерн Singleton гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к нему. Используется, когда нужен строгий контроль над созданием объекта (например, для логгеров, подключений к БД).

Ключевые особенности:

  • Приватный конструктор (__new__ или __init__)
  • Статический метод для доступа к экземпляру (например, get_instance())
  • Ленивая инициализация (создание при первом вызове)
python
class Singleton:
    _instance = None

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

# Использование
obj1 = Singleton()
obj2 = Singleton()
print(obj1 is obj2)  # True - это один и тот же объект

Важно: В Python модули по умолчанию являются синглтонами, что часто делает явную реализацию избыточной.

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

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

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

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