单例模式是什么:

  单例模式是一种软件设计模式,它的目的是确保某一个类只有一个实例存在

python实现单例模式的几种方式:

  1.使用模块

  2.使用装饰器

  3.使用类

  4.基于__new__方法实现

  5.基于metaclass方式实现

这几种方式中,第一种和后面几种略有不同,第一种使用模块,模块本身就是单例模式,而后面几种都是通过这几种方式来实现单例模式

1.使用模块

  python的模块就是天然的单例模式,因为模块在第一次导入时,会生成.pyc文件,当第二次导入时,就会直接加载.pyc文件,而不会再次执行模块代码.因此我们只要把相关的函数和数据定义到一个模块中,就可以获得一个单例对象了(模块).

  当然,如果我们想要一个单例类:

我们可以吧类保存在py文件中,然后其他文件使用时直接导入该文件中的对象(类),这个对象就是单例模式的类(对象)了.  

2.使用装饰器实现

3.使用类方法实现

4.基于__new__方法实现

5.基于metaclass方式实现

 

  

posted on 2019-10-18 11:12  咔咔小乌龟  阅读(172)  评论(0编辑  收藏  举报