何为单例模式?简单的来说就是一个实例,单个实例。不管你调用多少次这个实例,使用的依然是第一个实例。Python有着天然的单例模式,
如果已经导入过的文件再次被重新导入时候,python不会再重新解释一遍,而是选择从内存中直接将原来导入的值拿来用。
创建三个py文件来验证:
s1.py
1 class AdminSite(object): 2 3 pass 4 5 obj1 = AdminSite() 6 print('s1.py文件中的obj1的值:%s'%obj1)
s2.py
1 import s1 2 3 print('s2.py文件中通过导入s1模块后obj1的值:%s' % s1.obj1)
s3.py
1 import s1 2 3 print('s3.py文件中通过导入s1模块后obj1的值:%s' % s1.obj1)
然后分别运行s2.py s3.py文件。可以看到效果:
通过以上,我们可以发现,python的模块导入就是天然的,最简单的单例模式。