def singleton(cls): instances = {} def get_instance(*args, **kwargs): if cls not in instances: instances[cls] = cls(*args, **kwargs) return instances[cls] return get_instance # 示例使用 # @singleton # class Singleton: # def __init__(self, value): # self.value = value # singleton1 = Singleton(1) # singleton2 = Singleton(2) # print(singleton1.value) # 输出: 1 # print(singleton2.value) # 输出: 1 # print(singleton1 is singleton2) # 输出: True