为什么要写这个
更多文件下面都写了if __name__== "__main__"
,
为什么要做这个判断呢🐼🐼
主要是为了当是这个文件启动,而不是别的文件调用这个文件时,才运行这个判断下面的代码。
__name__
与"__main__"
是什么意思
__name__
是 Python 的内置属性,是系统全局变量!每一个 py 文件都有一个属于自己的__name__
:
🥚如果 py 文件作为模块被导入(import),那么 __name__
就是该 py 文件的文件名(也称 模块名);
🥚如果 py 文件直接运行时,那么___name__
默认等于字符串"__main__"
;
"__main__"
就是一个字符串,代表自己👀的意思
举个例子:
test.py
def p():
print("__name__:",__name__)
if __name__=="__main__":
p()
运行结果:
text2.py
import test
test.p()
运行结果:
使用作用
一个项目中必然会包含多个模块文件,每个模块文件在自己写完代码之后会做一些简单的测试用于检测 bug 或者 对自己的函数调用写一个简单的示例,使用__name__=="__main__"
,当调用模块时不会运行测试代码。不会影响调用的模块