zoukankan      html  css  js  c++  java
  • python-基于文件导入的特性的单例模式

    多实例模式

    class Foo:
        def __init__(self):
            self._ret = []
        def add(self,v):
            self._ret.append(v)
    obj1 = Foo()
    obj1.add(666)
    obj2 = Foo()
    print(obj2._ret)    # []
    

    单例模式

    Python中文件导入会将导入文件从上至下加载执行一遍。
    python中优化的机制,导入过一次之后,不会重新再加载了。
    基于文件导入的特性的单例模式。

    # v1.py
    class Foo:
        def __init__(self):
            self._ret = []
    
        def add(self,v):
            self._ret.append(v)
    site = Foo()
    #
    # v2.py
    import v1
    
    print(v1.site._ret)     # [ ]
    v1.site.add(666)
    
    import v1
    print(v1.site._ret)     # [666]
    
  • 相关阅读:
    安卓第四周作业
    安卓作业。
    JSP第七周作业
    jsp第六周作业
    JSP第四周作业
    JSP第二次
    软件测试课堂练习
    JSP第一次
    Android页面
    Android作业
  • 原文地址:https://www.cnblogs.com/yunweixiaoxuesheng/p/8283540.html
Copyright © 2011-2022 走看看