所谓单例说白了就是一个实例,怎么是一个实例呢,b模块导入a模块的时候,如果导入多次a中的实例对象,实则导入一次。
a.py
print(‘a‘) s = 123 class Foo(object): pass f = Foo()
b.py
import a import a from a import s as s1 print(s1, id(s1)) from a import s as s2 print(s2, id(s2)) from a import f as f1 print(f1, id(f1)) from a import f as f2 print(f2, id(f2))
输出
a 123 1774153696 123 1774153696 <a.Foo object at 0x00000178AF3DB278> 1617847759480 <a.Foo object at 0x00000178AF3DB278> 1617847759480