Python3:if __name__ == '__main__' 详解
- 一般在风格比较好的代码中会有一行
if __name__ == '__main__' :
代码,这里说明一下这句代码的用处,先上两个代码test1.py
和test2.py
:
# test1.py
print("test1's name :" ,__name__)
if __name__ == '__main__':
print('test1 runs as main !')
# test2.py
import test1
print("test2's name :" , __name__)
test1
print("test2 runs as main !")
- 两个文件放在同一目录下,这里我们看出
test2.py
会调用test1.py
,直接运行test1.py
,输出如下:
out[1]: test1's name : __main__
test1 runs as main !
- 运行
test2.py
,输出如下:
out[2]: test1's name : test1
test2's name : __main__
test2 runs as main !
test1
的if
代码块没有执行
- 一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用执行。
- 每一个文件都有一个内置的
__name__
变量,用来指示当前文件的名字,当这个文件直接被执行时,__name__
值为__main__
,当被调用执行(即以模块形式)时,__name__
值为模块名。 if __name__ == '__main__' :
的作用就是控制这两种情况执行代码的过程,此代码块只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的,如上所示
作者:ACphart
链接:https://www.jianshu.com/p/de19cdeb9195
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
分类:
python
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)