[Python]理解 if __name__ == ‘__main__‘

文章目录


本篇文章,参考并改编了
https://www.jianshu.com/p/989953d468d9
在很多utility程序中,我们会经常看到这样一句:

if __neme__ == "__main__" :

我们都只到python编写的文件可以直接运行,也可以当做模块来引用,不管哪一种方式,最顶层(以缩进方式来划分),都会被执行。
作用:
实际项目中,可能我们希望在引用这个module模块的时候,并不希望在导入的时候去执行顶层的code。

if __neme__ == "__main__" : 的作用就是放在里面的code只有在直接运行时候才生效执行,而作为模块被引用的时候是不执行的

举例:
下面是一个test.py
在这里插入图片描述
我直接运行上面这个程序,print("in")将会执行
在这里插入图片描述
如果我采用导入的方式,则不会执行

print(“in”)

在这里插入图片描述
在这里插入图片描述

最后
如果学过 C 或者 C++,知道程序入口是一个 main 函数。if name == ‘main’:的作用跟这个 main 函数相似,可以看作 Python 模拟的程序入口。而事实上,Python 是从源码文件的第一行开始,逐行解释然后运行,没有统一的程序入口。所以if name == ‘main’: 只能说是模拟的程序入口。
特别要注意__name__的引号是没有的,因为他是一个内置变量

 if __name__ == '__main__':

不是

 if "__name__ "== '__main__':

作者:胖三斤66
链接:https://www.jianshu.com/p/989953d468d9
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值