Singleton гарантирует один экземпляр класса. Самый pythonic способ — модуль, он и так singleton. Через метакласс: __call__ проверяет, есть ли уже инстанс. Через __new__: if not hasattr(cls, "_instance"). Через декоратор: оборачиваешь класс, кешируешь инстанс. В многопоточной среде нужен threading.Lock. Но в Python чаще просто используют модульную переменную или Borg pattern (общий __dict__). Singleton считается анти-паттерном, если мешает тестированию.
Как реализовать паттерн Singleton в Python?
Middle
313 просмотровAFK Offer AI
Что такое ndarray в NumPy?