Python __name__ == '__main__'的作用

在Python中,经常能看到下面这句话:

if __name__ == '__main__':

那么这句话的作用是什么呢?首先上结论:

1、当.py文件自己运行时,main下面的代码执行
2、当.py文件被其他文件引用时,main下面的代码不执行

为了验证上面的结论,来看一个小例子:

新建一个first.py文件,在文件中键入以下代码:

# first.py

def hello_world():
    print('hello world')

print(__name__) #输出__main__

if __name__ == '__main__':
    print('this is main')
    hello_world()

然后,运行first.py文件,首先执行print语句,然后进入if语句,执行hello_world(),结果如下。可以看到,单独执行一个.py时,main下面的语句被执行。

这里写图片描述

接下来新建一个second.py,second.py的主要作用是引入first.py。second.py中的代码如下:

# second.py

import first

first.hello_world()

结果如下图,first.py被作为module引入到second.py中,因此print(name)的输出为first,这刚好是first.py文件的名字。然后由于name的值与‘main ’不相同,因此if内的代码不执行。最后执行first.hello_world(),输出”hello_world”

这里写图片描述

总结:

1、当.py文件自己运行时,main下面的代码执行
2、当.py文件被其他文件引用时,main下面的代码不执行

这里写图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值