Files
WechatHookBot/utils/singleton.py
2025-12-03 15:48:44 +08:00

19 lines
504 B
Python

class Singleton(type):
_instances = {}
def __call__(cls, *args, **kwargs):
if cls not in cls._instances:
cls._instances[cls] = super().__call__(*args, **kwargs)
return cls._instances[cls]
@classmethod
def reset_instance(mcs, cls):
"""重置指定类的单例实例"""
if cls in mcs._instances:
del mcs._instances[cls]
@classmethod
def reset_all(mcs):
"""重置所有单例实例"""
mcs._instances.clear()