【学习笔记】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函数里面的内容便不会自动运行,保证了代码的模块化和可复用性,不会意外触发训练或其他副作用。

相关推荐
UQI-LIUWJ14 分钟前
unsloth笔记:运行&微调 gemma
人工智能·笔记·深度学习
googleccsdn16 分钟前
ESNP LAB 笔记:配置MPLS(Part4)
网络·笔记·网络协议
楚肽生物小敏16 分钟前
Cy5-Tyramide, Cyanine 5 Tyramide;1431148-26-3
笔记
speop1 小时前
llm的一点学习笔记
笔记·学习
运维小雅1 小时前
哪些因素会直观地影响到产品销量?
经验分享·笔记·媒体
非凡ghost1 小时前
FxSound:提升音频体验,让音乐更动听
前端·学习·音视频·生活·软件需求
抓饼先生1 小时前
Linux control group笔记
linux·笔记·bash
ue星空1 小时前
月2期学习笔记
学习·游戏·ue5
搞一搞汽车电子2 小时前
S32K3平台eMIOS 应用说明
开发语言·驱动开发·笔记·单片机·嵌入式硬件·汽车
萧邀人2 小时前
第二课、熟悉Cocos Creator 编辑器界面
学习