关于python中的 if "__name__" == "__main__",其实很简单

相信初学者刚开始学习python时总会有各种各样的问题,接下来,我给大家分析一下python中的if “name” == "main"语句
刚开始学习python的时候,碰见了这个语句,翻阅了好多资料,大多说的很麻烦而且讲解不清晰,后来自己又编写代码运行测试才明白原理,话不多说,先测试一个简单的代码。

main.py

class main1():
    def main(self):
        print("---测试1---")
        print(__name__)
if __name__ == '__main__':
    print("---测试2---")
    a=main1()
    a.main()

运行结果

—测试2—
—测试1—
__main__

test.py

from main import main1
b=main1()
b.main()

运行结果

—测试1—
main

看完这个小程序,或许大家都明白了。在main.py文件中,if "__name__" == "__main__"语句可有可无,不影响下面的输出结果。而在test.py文件中if "__name__" == "__main__"上面的语句’—测试1—‘继续执行;而if "__name__" == "__main__"下面的语句’—测试2—‘却没有执行。
为什么呢?
因为有了if "__name__" == "__main__"这条判断语句。
在以上代码中print(__name__)这条语句在被直接调用时和被调用时结果是不一样的。
所以我们知道了’name’变量的作用:‘name’在直接运行时输出的是’main’,而在当前文件被当模块调用时,在调用的那个文件中输出的是’文件名’。所以可以根据__name__变量的结果能够判断出,是直接执行的python脚本还是被引入执行的,从而能够有选择性的执行测试代码。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值