unittest: if __name__ == "__main__" 理解

if __name__ == "__main__":
一个Py文件有两种使用方法,第一种是直接运行,第二种是被import 调用
当直接运行的时候,if __name__ == "__main__":下面的执行,当被导入的时候,if __name__ == "__main__":下面的不执行

test1.py

print('test1 main前面')
if __name__=="__main__":
print("test1 main里面的方法")


直接运行test1.py 输出:test1 main前面 test1 main里面的方法

test2.py

import test

直接运行test2.py 输出:test1 main前面


每个python模块都包含内置的变量__name__,当运行模块被执行的时候,__name__等于文件名(包含了后缀.py);
如果import到其他模块中,则__name__等于模块名称(不包含后缀.py)。而“__main__”等于当前执行文件的名称(包含了后缀.py);
进而当模块被直接执行时,__name__ == 'main'结果为真。

猜你喜欢

转载自www.cnblogs.com/alantammm/p/10340058.html