[ Python基础学习 ] if __name__ == ‘__main__‘: 到底是什么 ?

[ Python基础学习 ] if __name__ == '__main__':到底是什么 ?


解释:

很常见但很少深究,今天来学习一下if name == ‘main’:
我们写 .py 的时候,一般.py是以两种方式存在的:

1.直接以脚本运行,如:

a = 'jesse'
b = 'jack'
print(f'{a} + {b}')

2.作为模块给别人导入,如:

import os
import nump

代码在被执行的时候,Python 解释器会先去读取Python 代码,然后定义一些全局的内置变量,而我们常常写的这个__name__就是其中的内部变量之一,如果解释器判断出的__name__值是__main__,则说明这里就是程序入口,而非被别的 py 文件 import。


举例看看写与不写的区别:

1.在当前脚本文件中写程序入口:
在这里插入图片描述
当前joint.py运行结果:
在这里插入图片描述
此时建立test.py并且import一下刚写完的joint,发现import不进来刚才在joint.py的结果在这里插入图片描述
结果:
在这里插入图片描述
2.在当前的.py中不写程序入口:
在这里插入图片描述
当前joint.py运行结果(和上述结果一样的):
在这里插入图片描述
此时建立test.py并且import一下刚写完的joint,可以import进来刚才在joint.py的结果。
在这里插入图片描述
结果:
在这里插入图片描述


总结:

.py 可以作为自己的脚本运行,在 main 中做一些测试或本身程序的运行。也可以把.py 作为模块给的.py使用,或许是一种编程习惯,也看是否需要定义程序入口的需求。具体应用具体分析。

–2021.6.12
参考链接:https://cloud.tencent.com/developer/article/1538553

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值