/
sejeenn
/
python_basic
Обзор
Документация
Войти
/
sejeenn
/
python_basic
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Module29/05_singleton/main.py
28 строк
696 B
Eugene Vorontsov
Copy repo python basic
03 фев 2025, 20:23
03 фев 2025, 20:23
a8fce4a
Код
Авторство
О чём код?
import functools def singleton(cls): """Декоратор класса, превращает класс в синглтон (может иметь только один инстанс (экземпляр класса) """ @functools.wraps(cls) def wrapper_singleton(*args, **kwargs): if not wrapper_singleton.instance: wrapper_singleton.instance = cls(*args, **kwargs) return wrapper_singleton.instance wrapper_singleton.instance = None #Кэш return wrapper_singleton @singleton class Example: pass my_obj = Example() my_another_obj = Example() print(id(my_obj)) print(id(my_another_obj)) print(my_obj is my_another_obj)