单例模式是什么:
单例模式是一种软件设计模式,它的目的是确保某一个类只有一个实例存在
python实现单例模式的几种方式:
1.使用模块
2.使用装饰器
3.使用类
4.基于__new__方法实现
5.基于metaclass方式实现
这几种方式中,第一种和后面几种略有不同,第一种使用模块,模块本身就是单例模式,而后面几种都是通过这几种方式来实现单例模式
1.使用模块
python的模块就是天然的单例模式,因为模块在第一次导入时,会生成.pyc文件,当第二次导入时,就会直接加载.pyc文件,而不会再次执行模块代码.因此我们只要把相关的函数和数据定义到一个模块中,就可以获得一个单例对象了(模块).
当然,如果我们想要一个单例类:
我们可以吧类保存在py文件中,然后其他文件使用时直接导入该文件中的对象(类),这个对象就是单例模式的类(对象)了.
2.使用装饰器实现
3.使用类方法实现
4.基于__new__方法实现
5.基于metaclass方式实现