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

 

posted on 2022-04-19 11:21  frank_cui  阅读(199)  评论(0)    收藏  举报

导航

levels of contents