if name == ‘main’:的作用
一个python文件通常有两种使用方法,
第一是作为脚本直接执行,
第二是 import 到其他的 python 脚本中被调用(模块重用)执行。
if name == ‘main’: 的作用就是控制这两种情况执行代码的过程,在 if__name__ == ‘main’: 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而 import 到其他脚本中是不会被执行的。
if name == ‘main’:的运行原理
if name == ‘main’ 就相当于是 Python 模拟的程序入口。Python
本身并没有规定这么写,这只是一种编码习惯。由于模块之间相互引用,不同模块可能都有这样的定义,而入口程序只能有一个。到底哪个入口程序被选中,这取决于
name 的值。如果一个模块被直接运行,则其没有包结构,其 name 值为 main 所以,if name ==
‘main’ 我们简单的理解就是: 如果模块是被直接运行的,则代码块被运行,如果模块是被导入的,则代码块不被运行。