单例模式(Singleton Pattern)是一种罕用的软件设计模式,该模式的次要目的是确保某一个类只有一个实例存正在。当你心愿正在整个零碎中,某个类只能呈现一个实例时,单例工具就能派上用场。
正在Python中,咱们能够用多种办法来完成单例模式(保举学习:Python视频教程)
其实,Python的模块就是自然的单例模式,由于模块正在第一次导入时,会天生 .pyc 文件,当第二次导入时,就会间接加载 .pyc 文件,而没有会再次执行模块代码。因而,咱们只要把相干的函数以及数据界说正在一个模块中,就能够取得一个单例工具了。
应用装璜器
def Singleton(cls): _instance = {} def _singleton(*args, **kargs): if cls not in _instance: _instance[cls] = cls(*args, **kargs) return _instance[cls] return _singleton @Singleton class A(object): a = 1 def __init__(self, x=0): self.x = x a1 = A(2) a2 = A(3)
应用类,当咱们完成单例时,为了保障线程平安需求正在外部退出锁
咱们晓得,当咱们实例化一个工具时,是先执行了类的__new__办法(咱们没写时,默许挪用object.__new__),实例化工具;而后再执行类的__init__办法,对这个工具进行初始化,一切咱们能够基于这个,完成单例模式
应用__metaclass__(元类)
更多Python相干技巧文章,请拜访Python教程栏目进行学习!
以上就是python怎样完成单例的具体内容,更多请存眷资源魔其它相干文章!
标签: Python python教程 python编程 python使用问题
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!