23种设计模式---单例模式

 

python 模块 就是单例, 只不过模块不是对象

如何在对象中创建呢?  见下图

23种设计模式---单例模式

 

 

什么时候用到单例?

一个类出现的实例只有一次,用单例。 日志对象 , 数据库连接池, 文件系统。
 

hasattr(object, name) 返回对象是否有该属性,有返回True

__new__方法会在 __init__方法之前进行调用,用于给整个对象进行初始化,用于分配空间

 

super(Singleton, cls).__new__(cls)    ==   super().__new__(cls) 

super().xxx 代替 super(Class, self).xxx 

cls 是未来继承Singleton 的class

 

 

相关文章: