if__name__==__main__

在大多数编排得好一点的脚本或者程序里面都有这段if __name__ == 'main': ,这段代码的功能:

一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用(模块重用)执行。因此if __name__ == 'main': 的作用就是控制这两种情况执行代码的过程,在if __name__ == 'main': 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的。
 
原理:每个python模块(python文件)都包含内置的变量__name__,当运行模块被执行的时候,__name__等于文件名(包含了后缀.py);如果import到其他模块中,则__name__等于模块名称(不包含后缀.py)。而“__main__”等于当前执行文件的名称(包含了后缀.py)。进而当模块被直接执行时,__name__ == 'main'结果为真。
 
简单地说:
if __name__=="__main__":
只在本程序内起作用,本程序(其他py文件)以外的程序只能调用本程序的def模块,if __name__=="__main__": 语句涵盖的内容调用不了。一般使用情况是导入其他模块时,并不想执行所有代码。
 
 
原文地址:https://www.cnblogs.com/myshuzhimei/p/11751205.html