if __ name __ == '__ main __'的作用
一个python文件的执行一般有两种情况:
- 第一种是作为脚本直接执行
- 第二种是作为被import后到其他的脚本中本执行
而在应用了if name == main后,在if name == main 后面的代码是只有在第一种情况下才会被执行,而如果被import到其他的脚本中是不会被执行的
if __ name __ == __ main__ :的运行原理
每个python模块(python)文件,都包含内置变量 __ name__ , 当该模块被直接执行的时候, __ name__ 等于文件名(包含后缀.py);;;如果该模块被import到其他的模块中,则该模块的 __ name__ 等于模块名称(不包含后缀.py);;;而__ main __ 始终执行当前模块的名称(包含后缀.py)。进而当模块被直接执行的时候,__ name__ == __ main __ 结果为真。
从后面的代码可以看出,在import后,__ name __ 在import的程序中实际的名字已经变成了 TestName即被import文件的名字,而main还是mian所以后面的Ooook就没有输出成功