当前位置: 首页 > news >正文

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

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

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

if __name__ == "__main__":train()

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

__name__ 的行为规律:

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

总结:

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

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

http://www.lryc.cn/news/578578.html

相关文章:

  • 修改Spatial-MLLM项目,使其专注于无人机航拍视频的空间理解
  • Electron 应用中的内容安全策略 (CSP) 全面指南
  • AbMole| H₂DCFDA(M9096;活性氧(ROS)探针)
  • 医学编码:临床试验数据标准化的关键
  • Next.js 安装使用教程
  • 多容器应用与编排——AI教你学Docker
  • Web性能测试常用指标(转自百度AI)
  • 开关电源和线性电源Multisim电路仿真实验汇总——硬件工程师笔记
  • 暖通锅炉的智能管控:物联网实现节能又舒适​
  • grom使用mysql快速上手
  • [论文阅读] 人工智能 + 软件工程 | 从软件工程视角看大语言模型:挑战与未来之路
  • 使用 icinga2 写入 TDengine
  • 基于ApachePOI实现百度POI分类快速导入PostgreSQL数据库实战
  • SpringBoot计时一次请求耗时
  • 基于netmiko模块实现支持SSH or Telnet的多线程多厂商网络设备自动化巡检脚本
  • 浏览器F12开发者工具的使用
  • [Python] -基础篇7-新手常见Python语法错误及解决方案
  • Qt时间显示按钮功能详解
  • openlayers根据图层名称判断图层是否在视口内
  • js代码09
  • Maven安装使用教程
  • java web2(黑马)
  • 阿里云-云效自动部署spring boot项目
  • vue + element-ui实现可拖拽表格
  • Windows VMWare Centos Docker部署Springboot + mybatis + MySql应用
  • 学习昇腾开发的第12天--安装第三方依赖
  • 飞算 JavaAI:我的编程强力助推引擎
  • 前端常用构建工具介绍及对比
  • ChatGPT、DeepSeek等大语言模型助力高效办公、论文与项目撰写、数据分析、机器学习与深度学习建模
  • HTML 安装使用教程