Python中if __name__ == '__main__'的使用
一个python文件的执行方法
-
作为脚本语言执行
实例代码:
直接执行
可以发现,直接执行test.py文件,可以print两行字符串。即if__name__ == ' _ _ main _ _ '语句之前和之后的代码都被执行。
-
import到其他的python脚本中被调用(模块重用)、执行。
创建import_test.py文件,导入test.py文件
执行文件
只输出了第一行字符串,即if__name__ == ' _ _ main _ _ '之前的语句执行了。之后的没有执行。
if _ _ name _ _ == ' _ _ main _ _ '运行原理
每个python模块(python文件,也就是此处的 test.py 和 import_test.py)都包含内置的变量 _ _ name _ _ ,当该模块被直接执行的时候, _ _ name _ _ 等于文件名(包含后缀 .py )
如果该模块 import 到其他模块中,则该模块的 _ _ name _ _ 等于模块名称(不包含后缀.py)。
实例再看
再给test.py脚本if _ _ name _ _ == ' _ _ main _ _'之前加入print( _ name _ )
重新执行文件test.py如下
在执行import_test.py如下
此时,test.py中的__name__变量值为 test,不满足 _ _ name _ _ ==" _ _ main _ _ " 的条件,因此,无法执行其后的代码。
参考博客:https://blog.csdn.net/q2605894893/article/details/82345814