Python用法:if __name__ == “__main__“的作用

本文介绍了Python中的__name__属性及其在`if __name__ == '__main__'`语句中的作用。`__name__`属性记录了模块的名字,当模块作为脚本执行时其值为`__main__`。使用`if __name__ == '__main__':`可以确保这部分代码只在直接运行模块时执行,而不是在被其他模块导入时执行。文章通过两个示例(tempconv.py和calc.py)阐述了这一概念,并讨论了如何避免在导入模块时执行不必要的测试代码。
摘要由CSDN通过智能技术生成


前言

与C语言不同,Python是一种解释型脚本语言,在执行之前不同要将所有代码先编译成中间代码,Python程序运行时是从模块顶行开始,逐行进行翻译执行,所以,最顶层(没有被缩进)的代码都会被执行,所以Python中并不需要一个统一的main()作为程序的入口。在某种意义上讲,if __ name__== "__ main__:"也像是一个标志,象征着Java等语言中的程序主入口,告诉其他程序员,代码入口在此。

一、__name__是什么

__name__属性是Python的一个内置属性,记录了一个字符串。

在Python中,一个.py文件就是一个模块,一般情况下,模块的名字就是文件名(不包括扩展名.py)。

全局变量__name__存放的就是模块的名字。

而特殊情况就是,当一个模块作为脚本执行时或者在交互式环境中,如Ipython、Python自带的shell等直接运行代码,__ name__的值不再是模块名,而是__main__。__main__是顶层代码执行作用域的名字。

二、if __ name__ == '__ main__'语句的使用

1.tempconv.py

def c2f
  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诊断协议那些事儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值