if __name__='__main__'的作用

文章内容皆为个人理解,如有不足欢迎指正。

相信大家看别人代码的时候,经常会看见 if __name__=’__main__'这行代码(name和main的两边都是双下划线),它到底是个什么意思呢以及有什么作用呢?

1、什么意思?
先举个例子,加入你是李华,你有个朋友叫张三,在张三眼里,你的__name__=‘LiHua’,而在你自己眼中,你的__name__=‘自己’。

同理,在python里,现在有两个.py文件,一个叫a.py,另一个为b.py。在b.py眼里,a的__name__=‘a’,但是在a自己眼里,__name__=’__main__’。
我们具体的来看,a.py 的代码、运行结果 如下:

#a.py

print('hello')
print(__name__)
if __name__=='__main__':
    print('hello world')

'''运行结果
hello
__main__
hello world
'''

b.py 的代码、运行结果 如下:

#b.py

import a
print('你好,世界')
print(__name__)

'''运行结果
hello
a
你好,世界
__main__
'''

不难看出来,直接运行a.py,__name__=’__main__'是成立的,因为print('hello world ‘)成功运行了;但是在b.py调用a.py的时候,a.py里的__name__=’__main__'并不成立了,因为这时候是以b的角度去看a.py,其__name__=‘a’。

也就是说,每个.py文件都有其__name__,自己运行的时候__name__=’__main__’,被调用的时候,__name__为文件名。

2、什么作用?
不难理解,在被调用的时候,if __name__=’__main__'下面的内容将不被执行,也就是说:你可以写一些仅在此文件运行时才执行的代码,防止此段代码被调用。

欢迎留言讨论~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值