在python中__name__是当前模块名,当模块被直接运行时模块名为__main__,类似于C语言中的__LINE__之类的用法。这句话的含义是当模块直接被运行的时候,以下代码块将被运行,当模块被import的时候,代码块不运行。
一个python文件的使用方式有两种,第一是直接作为脚本执行,第二是import'到其他的python脚本中被调用(模块重用)执行。因此if __name == '__main__'的作用就是用来控制这两种情况执行执行的过程,在if __name__ =='__main__'下的代码只有在第一种情况下(即文件作为脚本直接运行)才会被执行,而import到其他的脚本中是不会被执行的。
每个python模块,即python文件都包含内置的变量__name__,当模块被运行的时候,__name__等于文件名(包含.py后缀);如果被import到其他文件中,则__name__等于模块名称,不包括.py。而__main__等于当前正在执行的模块的文件名(包含了.py)。