if _name_ == " _main_"

1.作用

py文件有2种使用方法,第1是自己本脚本自己独立执行;第2是被import到其他文件脚本中执行. 

 if  _name_ == " _main_" 该语句控制其他下一步的脚本是否执行。如果是自己本脚本独立执行,那就运行该if条件下的脚本;如果被import到其他文件脚本中执行,则不执行,即if条件为假

2. 解释

_name_: 每个python模块(python文件)都包含内置的变量__name__,当运行模块被独立执行的时候,__name__等于文件名(包含了后缀.py);如果import到其他模块中,则__name__等于模块名称(不包含后缀.py)。

“__main__”: 等于当前正在执行文件的名称(包含了后缀.py)。

3. 例子(该例子引用前辈例子,感谢):

 举个例子,下面在test.py中写入如下代码:

print "I'm the first."
if __name__=="__main__":
    print "I'm the second."

并直接执行test.py,结果如下图,可以成功print两行字符串。即,if __name__=="__main__": 语句之前和之后的代码都被执行。

python脚本测试


然后在同一文件夹新建名称为import_test.py的脚本,只输入如代码:

import test
执行import_test.py脚本,输出结果如下:
 
if __name__=="__main__"演示

只输出了第一行字符串。即,if __name__=="__main__": 之前的语句被执行,之后的没有被执行。

本文为学习笔记,如有误地方,望指正

原文地址:https://www.cnblogs.com/fennudexiaoniao/p/7458324.html