Python - __name__ == '__main__' 到底是什么意思

回到顶部(go to top)

总结

1.import 在导入文件的时候,会自动把所有“暴露在外面的代码”全都执行一遍。

 

2.如果你要把一个东西封装成模块(可以被别人import),又想让它单独可以执行的话(例如执行一些单元测试),你必须将要执行的代码放在 if __name__ == '__main__'下面。

3.这两种情况中__name__的值是不同的:

  • 当一个模块被直接执行时,其__name__必然等于__main__;
  • 当一个模块被引用时,其__name__必然等于文件名(不含.py)

所以利用判断__name__ == '__main__'的真假就可以将这两种情况区分出来。

 

回到顶部(go to top)

详细说明

项目结构如下:

.
├── utils.py
├── utils_with_main.py
├── main.py
└── main_2.py

 

 

 

 

 

 

回到顶部(go to top)

参考文献

链接:https://b.geekbang.org/member/course/detail/99275

 

posted on   frank_cui  阅读(176)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2021-04-19 Redis - 缓存穿透,缓存击穿,缓存雪崩,缓存污染
2021-04-19 Redis - 哨兵模式 sentinel + 故障转移 failover + 哨兵选举 + 脑裂现象
2021-04-19 Redis - Redis主从复制,读写分离
2019-04-19 MDX Query - mdx的基本语法和概念
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

levels of contents
点击右上角即可分享
微信分享提示