• 设计模式——单例模式


    单例,顾名思义,在使用过程中,每次在类实例化时,只有一个对象。单例书写:

    方式一:

    Python的模块他自身就是一个单例的,因为它在程序中只被加载一次。故,可以直接写一个模块,将你需要的方法和属性,写在模块中当做函数和模块作用域的全局变量即可,根本不需要写类。例如:

    # singleton.py
    
    class Singleton(object):
    
        def test(self):
            pass
    
    
    singleton_obj = Singleton()
    
    ceshi.py
    
    from singleton import singleton_obj
    singleton_obj.test()
    
    

    方式二:

    class Singleton(object):
    	def __new__(cls, *args, **kwargs):
    		if not hasattr(cls, '_instance'):
    			orig = super(Singleton, cls)
    			cls._instance = orig.__new__(cls, *args, **kwargs)
    		return cls._instance
    
    
    obj1 = Singleton()
    
    obj2 = Singleton()
    
    print(obj1 == obj2)  # True
    print(id(obj1))  # 2109926388232
    print(id(obj2))  # 2109926388232
    
    

    待续。。

    以上。

  • 相关阅读:
    [CQOI2017] 小Q的棋盘
    CF75D Big Maximum Sum
    Dockerfile
    docker镜像与容器的导出导入
    ubuntu安装glusterFS
    常用工具网站网址
    国内数据分析平台
    清理系统垃圾
    sql注入笔记
    shopify Liquid语言学习知识点总结
  • 原文地址:https://www.cnblogs.com/lovebkj/p/14582527.html
Copyright © 2020-2023  润新知