python Singleton 模式
Singleton 模式,中文既为 单实例模式 。 一、代码示例 看一下普通的类: class Normal(object): _instance = [] config = '' def set(self,value): self.config = value def get(self): return self.confg if __name__ == '__main__': s1 = Normal () s1.set('s1') s2 = Normal() s2.set('s2') print id(s1) print id(s2) print s1.get() print s2.get() 运行结果 : ubuntu@yee:/tmp$ python t.py 139782948272976 139782948273040 s1 s2 可以看到,代码中生成了两个实例,每个实例都拥有自己的内存空间。 接下来看单实例的代码示例: class Singleton(object): _instance = [] config = '' def __new__(cls,*args,**kwargs): if not cls._instance: cls._instance = super(Singleton,cls).__new__(cls,*args,**kwargs)