""" 单例模式 单:一个 例:实例、对象 通过利用Python模块导入的特性:在Python中,如果已经导入过的文件再次被重新导入时,Python不会再重新解释一遍,而是选择从内存中直接将原来导入的值拿来使用 one.py class AdminSite(object): pass site = AdminSite() two.py import one print(one.site) import one print(one.site) 提示: 如果以后存在一个单例模式的对象,可以先在此对象中放入一些值,然后再在其他的文件中导入该对象,通过对象再次将值获取到 """
util.py
class AdminSite(object): pass site = AdminSite() # 为AdminSite类创建了一个对象(实例)
app.py
# import util # print(util.site) # <util.AdminSite object at 0x000001841EC49B80> # # import util # print(util.site) # <util.AdminSite object at 0x000001841EC49B80> """ 在Python中,如果已经导入过的文件再次被重新导入时,Python不会再重新解释一遍,而是选择从内存中直接将原来导入的值拿来使用 """ # import util # print(util.site) # import commons # # <util.AdminSite object at 0x0000028F49032AF0> # # <util.AdminSite object at 0x0000028F49032AF0> import util util.site.name = "admin" import commons
commons.py
# import util # print(util.site) import util print(util.site.name)