单例模式
python实现单例模式 在Python中实现单例模式可以通过装饰器、元类或者直接在类中实现。以下是一个使用装饰器实现的单例模式示例: 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 MySingleton: def __init__(self, param): self.param = param # 其他初始化代码 # 使用单例 a = MySingleton("example") b = MySingleton("example") # a和b将指向同一个对象,因为MySingleton是单例的 print(a is b) # 输出 True 这个装饰器singleton会创建一个字典instances来存储类的实例。每次尝试创建类的实例时,它都会检查该类是否已经在instances中。如果不在,它会创建一个新的实例并将其存储在字典中,然后返回这个实例。这确保了无论你创建多少次类的实例,它们都将是同一个对象。