[ 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