Встречается на собеседованиях • сегодня
Как устроен Singleton
Singleton — это паттерн проектирования, который гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к нему.
Реализация через __new__:
python
class Singleton:
_instance = None
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instanceРеализация через декоратор:
python
def singleton(cls):
instances = {}
def wrapper(*args, **kwargs):
if cls not in instances:
instances[cls] = cls(*args, **kwargs)
return instances[cls]
return wrapper
@singleton
class MyClass:
passОсобенности:
- Потокобезопасность требует дополнительных мер (например,
threading.Lock). - Может нарушать принцип единственной ответственности.
- Используется для логгеров, конфигураций, подключений к БД.
Альтернативы — модули (уже синглтоны в Python) или dependency injection.

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