今天,偶然看到一个方法:if __name__ == '__main__',于是就查找了一下它的用法。
一个Python的文件其实有两种使用方法:
1.作为脚本直接运行。2.import 到别的Python脚本中被调用(模块重用)执行。
if__name__=='__main__',其实就是控制这两种情况执行代码的过程,在if __name__ == '__main__':下的代码只有在,Python文件作为脚本直接运行的情况下才会被执行,而import到其他脚本中是不会被执行的。
因为:每个python模块(python文件)都包含内置的变量__name__,当运行模块被执行的时候,__name__等于文件名(包含了后缀.py)。如果import到其他模块中,则__name__等于模块名称(不包含后缀.py)。而“__main__”等于当前执行文件的名称(包含了后缀.py)。所以当模块被直接执行时,__name__ == '__main__'结果为真;而当模块被import到其他模块中时,__name__ == '__main__'结果为假,就是不调用对应的方法。
简而言之就是:__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。当模块被直接运行时,代码将被运行,当模块是被导入时,代码不被运行。