【学习笔记】Python中主函数调用的方式

最近在使用以下这段代码的时候产生了一些疑问:

我的文件名称不叫main,但为什么我运行这个主函数的时候也可以运行呢?

python 复制代码
if __name__ == "__main__":
    train()

于是写篇文章记录一下,详细见下表

__name__ 的行为规律:

执行方式 __name__ 的值 会不会执行 if __name__ == "__main__"
python some_file.py "__main__" ✅ 会执行
import some_file "some_file"(模块名) ❌ 不会执行

总结:

只有在直接运行某一个文件的时候,这个文件的name值才会被设置为main,无论这个文件叫什么名字。除此之外,如果是导入文件的情况下,都是以这个文件的名称作为name值。

于是,当涉及到模型训练或参数更新时,为了防止调用文件时,训练函数也被运行,我们一般选择使用以上开头的主函数命名方式,这样,当有import 文件名时,main函数里面的内容便不会自动运行,保证了代码的模块化和可复用性,不会意外触发训练或其他副作用。

相关推荐
rannn_11111 分钟前
【苍穹外卖|Day4】套餐页面开发(新增套餐、分页查询、删除套餐、修改套餐、起售停售)
java·spring boot·后端·学习
张人玉25 分钟前
VisionPro 定位与卡尺测量学习笔记
笔记·学习·计算机视觉·vsionprp
songyuc29 分钟前
【BiFormer】BiFormer: Vision Transformer with Bi-Level Routing Attention 译读笔记
笔记·transformer
觉醒大王1 小时前
强女思维:着急,是贪欲外显的相。
java·论文阅读·笔记·深度学习·学习·自然语言处理·学习方法
三水不滴1 小时前
计网:输入网址到网页显示
经验分享·笔记·计算机网络
YCY^v^2 小时前
JeecgBoot 项目运行指南
java·学习
云小逸2 小时前
【nmap源码解析】Nmap OS识别核心模块深度解析:osscan2.cc源码剖析(1)
开发语言·网络·学习·nmap
JustDI-CM2 小时前
AI学习笔记-提示词工程
人工智能·笔记·学习
悟纤2 小时前
学习与专注音乐流派 (Study & Focus Music):AI 音乐创作终极指南 | Suno高级篇 | 第33篇
大数据·人工智能·深度学习·学习·suno·suno api
爱写bug的野原新之助2 小时前
加密摘要算法MD5、SHA、HMAC:学习笔记
笔记·学习