python中if __name__ == '__main__':的用法

python中if __name__ == '__main__':的用法

作为脚本直接运行

直接执行含if name == ‘main’:语句会将if语句中的代码执行。

  • 创建test.py文件,代码如下:
print('A中的__name__值为{}'.format(__name__))
if __name__=='__main__':
	print('hello world')
  • 直接运行(python test.py),结果如下:
A中的__name__值为__main__
hello world

作为模块被其它脚本导入

作为模块被其它脚本导入时,if语句中的代码不会被执行。

  • 创建新脚本:
import test
print('ceshi包中的__name__为:{}'.format(__name__))
  • 执行新脚本:
A中的__name__值为test
ceshi包中的__name__为:__main__

两个脚本文件应在同一文件夹下才能被导入,此时if语句中的代码不会被执行

运行原理

当哪个脚本被执行时,该脚本的__name__就是__main__,所以直接运行test脚本,if语句会被执行。当脚本ceshi用import将test导入时,A中的__name__值为test(见ceshi脚本代码执行结果),因此test脚本中__name__!= main,因此if语句后面内容不会被执行。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值