unittest: if __name__ == "__main__" 理解
Posted alantammm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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‘结果为真。
以上是关于unittest: if __name__ == "__main__" 理解的主要内容,如果未能解决你的问题,请参考以下文章
Python 同一文件中,有unittest不执行“if __name__ == '__main__”,不生成HTMLTestRunner测试报告的解决方案