python中if_name_==main_‘:的含义,为什么?

在Python中,if __name__ == '__main__':是一个常用的代码结构,其核心作用是区分模块的直接执行与导入调用

工作原理

  1. 每个Python文件都包含内置变量__name__
  2. 当文件被直接执行时,__name__会被赋值为'__main__'
  3. 当文件被作为模块导入时,__name__会被赋值为模块名称

典型应用

# module.py
def test():
    print("函数被调用")

if __name__ == '__main__':
    test()  # 直接运行本文件时执行

使用场景

  1. 测试代码隔离:防止模块导入时自动执行测试代码
  2. 模块复用:允许文件同时作为可执行脚本和可导入模块
  3. 入口控制:明确程序的启动入口

示例说明

创建两个文件:

# main.py
import module  # 不会触发module.py中的test()调用

# module.py
def demo():
    print("功能函数")

if __name__ == '__main__':
    demo()  # 直接运行module.py时会执行

当直接运行module.py时会输出"功能函数",而通过main.py导入时不会触发该调用。这种设计模式使代码既可作为独立程序运行,也能安全地被其他模块复用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值