Back to questions
Middle
1
Что-нибудь про паттерн Singleton можешь рассказать?
Companies where asked
BP
Answer from AI
sobes.tech AI
Паттерн Singleton гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру.
В Python Singleton можно реализовать несколькими способами. Один из простых — использовать модуль, так как модули в Python по сути синглтоны. Но если нужен класс, можно сделать так:
class Singleton:
_instance = None
def __new__(cls, *args, **kwargs):
if not cls._instance:
cls._instance = super().__new__(cls)
return cls._instance
# Использование
s1 = Singleton()
s2 = Singleton()
print(s1 is s2) # True
Этот код гарантирует, что при создании нескольких объектов класса Singleton будет возвращён один и тот же экземпляр.