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

相关推荐
ljt272496066119 小时前
Compose笔记(六十八)--MutableStateFlow
android·笔记·android jetpack
副露のmagic19 小时前
更弱智的算法学习 day25
python·学习·算法
强子感冒了19 小时前
Java 学习笔记:File类核心API详解与使用指南
java·笔记·学习
别了,李亚普诺夫20 小时前
USB拓展坞-PCB设计学习笔记
笔记·学习
逑之20 小时前
C语言笔记14:结构体、联合体、枚举
c语言·开发语言·笔记
崇山峻岭之间20 小时前
Matlab学习记录30
开发语言·学习·matlab
朔北之忘 Clancy20 小时前
2020 年 6 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·算法·青少年编程·题解
claider21 小时前
Vim User Manual 阅读笔记 User_03.txt move around
笔记·编辑器·vim
saoys21 小时前
Opencv 学习笔记:一文掌握四种经典图像滤波(均值 / 高斯 / 中值 / 双边)
笔记·opencv·学习
●VON21 小时前
可信 AI 认证:从技术承诺到制度信任
人工智能·学习·安全·制造·von