被 if name == ‘main’ 包起来的部分可以看成是该module的私有部分,也就是说只有在 run 该module的时候才会运行该部分的代码,而在被调用时是不会运行这部分的代码的。
举例:
例如有 a.py
和 b.py
两个文件,其中 a.py
如下:
size = 15
print(size) # No.1
if __name__ == '__main__':
size = 1
print(size) # No.2
b.py
如下:
import a
直接 run a
输出为
可以看到这里 No.1 和 No.2 两个 print 都运行了
现在直接run b.py
结果为:
可以看到 直接 import a
运行了第一个print 函数,而第二个print是a module 私有的,只有在 run self 的时候才会被调用。