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

python __name__与__main__深刻理解(涵详细解释、应用场景、代码举例、高级用法)

python __name__与__main__深刻理解(涵详细解释、应用场景、代码举例、高级用法):


一、__name__ 的核心作用

__name__ 是 Python 的内置属性,用于标识当前模块的执行环境,其值取决于模块是被直接运行 还是被导入 到其他模块中

  1. 直接运行 :当模块作为主程序执行时,__name__ 的值为 "__main__"
  2. 被导入 :当模块被其他脚本导入时,__name__ 的值为模块的文件名(不含 .py 后缀)。

二、典型应用场景
1. 隔离测试代码与功能代码 

当模块包含测试代码时,使用 if __name__ == '__main__' 可防止测试逻辑在被导入时自动执行。
示例

# utils.py
def add(a, b):
    return a + b

# 测试代码(仅在直接运行时执行)
if __name__ == '__main__':
    print(a

相关文章:

  • 基于WebRtc,GB28181,Rtsp/Rtmp,SIP,JT1078,H265/WEB融合视频会议接入方案
  • 工单分类总结
  • Leetcode Hot 100 35.搜索插入位置
  • 体育直播模板nba英超直播欧洲杯直播模板手机自适应
  • 实时视频分析的破局之道:蓝耘 MaaS 如何与海螺 AI 视频实现高效协同
  • [leetcode]1631. 最小体力消耗路径(bool类型dfs+二分答案/记忆化剪枝/并查集Kruskal思想)
  • 介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用
  • Qt窗口控件之菜单栏QMenuBar
  • HTTP Header 中的 cookie 和 set-cookie
  • 笔记:介绍如何使用Docfx生成开发文档
  • 在若依框架,导出对象作为模版,填充内容可以搜索数据库数据作为下拉选择数据,一个工具类就够了【拿来就用】
  • c++:红黑树
  • Vue 中的nextTick函数的原理、作用及使用场景。
  • 蓝桥杯备赛(搜索)
  • el-table折叠懒加载支持排序
  • -PHP 应用文件管理模块包含上传遍历写入删除下载安全
  • C++调用ffmpeg解复用、解码案例
  • vue学习九
  • Apache APISIX 架构浅析
  • 巧用输出变量,提升Dolphinscheduler工作流灵活性和可维护性
  • 印观察|印巴战火与莫迪政府三重冒险:南亚火药桶已至临界点
  • 陕南多地供水形势严峻:有的已呼吁启用自备水井
  • 于东来再次回应玉石质疑:邀请前往胖东来深入考察,随时欢迎各方调查
  • 德国联邦议院6日下午将举行总理选举第二轮投票
  • 【社论】跑赢12级狂风,敦煌做对了什么
  • 库里22分赢下抢七大战,火箭10年难破“火勇大战”的魔咒