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

相关推荐
_Kayo_4 小时前
VUE2 学习笔记6 vue数据监测原理
vue.js·笔记·学习
chenchihwen4 小时前
大模型应用班-第2课 DeepSeek使用与提示词工程课程重点 学习ollama 安装 用deepseek-r1:1.5b 分析PDF 内容
人工智能·学习
超浪的晨5 小时前
Java UDP 通信详解:从基础到实战,彻底掌握无连接网络编程
java·开发语言·后端·学习·个人开发
使二颗心免于哀伤6 小时前
《设计模式之禅》笔记摘录 - 10.装饰模式
笔记·设计模式
悠哉悠哉愿意6 小时前
【电赛学习笔记】MaxiCAM 项目实践——与单片机的串口通信
笔记·python·单片机·嵌入式硬件·学习·视觉检测
快乐肚皮7 小时前
ZooKeeper学习专栏(五):Java客户端开发(原生API)详解
学习·zookeeper·java-zookeeper
慕y2747 小时前
Java学习第七十二部分——Zookeeper
java·学习·java-zookeeper
岩中竹7 小时前
广东省省考备考——常识:科技常识(持续更新)
笔记
★YUI★8 小时前
学习游戏制作记录(剑投掷技能)7.26
学习·游戏·unity·c#
Olrookie8 小时前
若依前后端分离版学习笔记(三)——表结构介绍
笔记·后端·mysql