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

if __name__ == “__main__“

在Python中,if __name__ == "__main__": 这行代码非常常见,它用于判断当前运行的脚本是否是主程序。这里的 __name__ 是一个特殊变量,当Python文件被直接运行时,__name__ 被自动设置为字符串 "__main__"。但是,如果这个文件是被其他文件导入的,__name__ 则会被设置为该模块的名字(即不包含文件扩展名的文件名)。

这个机制允许一个Python文件既可以作为脚本直接运行,也可以作为模块被其他文件导入,而不会在执行导入时自动执行文件中的代码块。通过 if __name__ == "__main__": 判断,你可以控制哪些代码只在文件被直接运行时执行,哪些代码在被导入时执行(或者根本不执行)。

下面是一个简单的例子来说明这一点:

# 文件名: example.py  def func():  print("func() 函数被调用")  if __name__ == "__main__":  print("example.py 被直接运行")  func()  # 如果这个文件被直接运行,输出将会是:  
# example.py 被直接运行  
# func() 函数被调用  # 但是,如果这个文件被其他Python文件通过 import 语句导入,比如这样:  
#  
# import example  
#  
# 那么 "example.py 被直接运行" 和 "func() 函数被调用" 这两行将不会被打印,  
# 因为此时 __name__ 的值不是 "__main__",而是 "example"(或导入时使用的其他别名,如果有的话)。  
# 只有 func() 函数会被导入,可以在其他文件中通过 example.func() 调用它。

这种方式在开发Python程序时非常有用,因为它允许你创建可复用的代码库(即模块),同时又能在需要时直接运行这些模块以进行测试或执行特定的任务。

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

相关文章:

  • 数据识别概述
  • pytorch统计学分布
  • 【网络安全学习】漏洞利用:BurpSuite的使用-03-枚举攻击案例
  • redis 消息订阅命令
  • springboot接口防抖【防重复提交】
  • 每日一题——Python实现PAT乙级1026 程序运行时间(举一反三+思想解读+逐步优化)五千字好文
  • 还在Excel中管理您的持续改进项目吗?
  • CentOS 7 内存占用过大导致 OOM Killer 杀掉了 Java 进程
  • 在postgrel中使用hints
  • OceanBase Meetup北京站|跨行业应用场景中的一体化分布式数据库:AI赋能下的探索与实践
  • Spring Boot:轻松设置全局异常处理
  • Omni3D目标检测
  • 前端三件套开发模版——产品介绍页面
  • Android Bitmap 和Drawable的区别
  • Linux和windows网络配置文件的修改
  • 【.NET全栈】第16章 Web开发
  • 检测水管缺水的好帮手-管道光电液位传感器
  • 渗透测试流程基本八个步骤
  • 2024年移动手游趋势:休闲类手游收入逆势增长,欧美玩家成为主力
  • npm 淘宝镜像证书过期,错误信息 Could not retrieve https://npm.taobao.org/mirrors/node/latest
  • axios发送请求,后端无法获取cookie
  • 【Spring Boot 源码学习】初识 ConfigurableEnvironment
  • 开关电源中强制连续FCCM模式与轻载高效PSM,PFM模式优缺点对比笔记
  • 5分钟教你用AI把老照片动起来,别再去花49块9的冤枉钱了
  • Ruby 环境变量
  • BPF:BCC工具 funccount 统计内核函数调用(内核函数、跟踪点USDT探针)认知
  • DPO算法推导
  • Qt源码分析:窗体绘制与响应
  • docker 安装 禅道
  • 【简要说说】make 增量编译的原理