python怎么实现单例-Python教程

资源魔 49 0
单例模式(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使用问题

抱歉,评论功能暂时关闭!