的作用if__name__=='__main__':python文件的作用通常有两种使用方式,第一种是直接作为脚本执行,第二种是导入其他python脚本调用(模块重用)来执行。所以if__name__=='main':的作用就是控制这两种情况下代码执行的过程。if__name__=='main':下的代码只在第一种情况下执行(即文件直接作为脚本执行)。会被执行,但是import到其他脚本不会被执行。例子如下:直接执行test.py,结果如下图,可以成功打印两行字符串。即执行if__name__=="__main__":语句前后的代码。import然后在同一个文件夹下新建一个名为import_test.py的脚本,输入如下代码:执行import_test.py脚本,输出结果如下:只输出第一行字符串。即如果__name__==“__main__”:执行前面的语句,不执行后面的语句。if__name__=='__main__':运行原理每个python模块(python文件,即这里的test.py和import_test.py)都包含一个内置变量__name__,直接执行模块时,__name__等于文件名(包括后缀.py);如果模块被引入到其他模块中,则模块的__name__等于模块名称(不带后缀.py)。而“__main__”总是指当前正在执行的模块的名称(包括后缀.py)。因此,当模块直接执行时,__name__=='main'的计算结果为true。为了进一步说明,我们在test.py脚本中if__name__=="__main__":之前加上print(__name__),即打印出__name__。文件内容及结果如下:可见变量__name__的值为“__main__”。再次执行import_test.py,执行结果如下:此时test.py中__name__变量的值为test,不满足__name__==”__main__”的条件,所以后面的代码无法被执行。
