if name == “main”: 作用
python文件作为脚本直接执行时的控制条件
说明
一个python的文件有两种使用的方法
- 直接作为脚本执行
- import到其他的python脚本中被调用(模块重用)执行
if name == ‘main’: 的作用就是控制这两种情况执行代码的过程,在if name == ‘main’: 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的。
原理
每个python模块(python文件)都包含内置的变量__name__,
当运行模块被执行的时候,__name__等于文件名包含了后缀.py
如果import到其他模块中,则__name__等于模块名称不包含后缀.py
而__main__等于当前执行文件的名称包含了后缀.py。进而当模块被直接执行时,if name == 'main’结果为真