单例模式可以说开发中比较常用的一种设计模式,这种模式适用的情况是当你的系统的需要某个类实例化之后只出现一个相同的实例,而不是多个实例时。通常可以用来存储整个系统的一些常用配置,对他的更新会作用到所有的引用,实现了配置共享。
Python比较简单易用也是大家推荐的单例模式实现方式是基于_new_方法实现的,具体代码可见以下:
import threading class Singleton: _instance_lock = threading.Lock() def __init__(self): pass def __new__(cls, *args, **kwargs): if not hasattr(Singleton, "_instance"): with Singleton._instance_lock: if not hasattr(Singleton, "_instance"): Singleton._instance = super().__new__(cls) return Singleton._instance a = Singleton() b = Singleton() c = Singleton() d = Singleton() print(a, b, c, d)