class SingletonMeta(type):
_instances = {}
def __call__(cls, *args, **kwargs):
if cls not in cls._instances:
cls._instances[cls] = super().__call__(*args, **kwargs)
return cls._instances[cls]
class Logger(metaclass=SingletonMeta):
def __init__(self):
self.logs = []
print("Логи")
def log(self, msg):
self.logs.append(msg)
def all(self):
return self.logs
Logger().log("a")
Logger().log("b")
print(Logger().all())