Python - __name__ == '__main__' 到底是什么意思
总结
1.import 在导入文件的时候,会自动把所有“暴露在外面的代码”全都执行一遍。
2.如果你要把一个东西封装成模块(可以被别人import),又想让它单独可以执行的话(例如执行一些单元测试),你必须将要执行的代码放在 if __name__ == '__main__'下面。
3.这两种情况中__name__的值是不同的:
- 当一个模块被直接执行时,其__name__必然等于__main__;
- 当一个模块被引用时,其__name__必然等于文件名(不含.py)
所以利用判断__name__ == '__main__'的真假就可以将这两种情况区分出来。
详细说明
项目结构如下:
.
├── utils.py
├── utils_with_main.py
├── main.py
└── main_2.py
参考文献
链接:https://b.geekbang.org/member/course/detail/99275