name是模块的内置属性,因此前后有双下划线。
如果Python脚本中存在if name = 'main',因此脚本分为if name = 'main'前后两个Block。
Python脚本除了直接运行,也可以被当做模块导入其他脚本中运行。
1)当脚本作为主模块直接运行时,name = 'main'是True,if name = 'main'后面的程序继续执行;因此整个程序完整执行。
2)当脚本被当做副模块被导入其它脚本运行时,name属性就变成了副模块脚本名,if name = 'main'是False,副模块中if name = 'main'后block就不再执行。