- 一般在风格比较好的代码中会有一行
if __name__ == '__main__' :
代码,这里说明一下这句代码的用处,先上两个代码test1.py
和test2.py
:
# test1.py
print("test1's name :" ,__name__)
if __name__ == '__main__':
print('test1 runs as main !')
# test2.py
import test1
print("test2's name :" , __name__)
test1
print("test2 runs as main !")
- 两个文件放在同一目录下,这里我们看出
test2.py
会调用test1.py
,直接运行test1.py
,输出如下:
out[1]: test1's name : __main__
test1 runs as main !
- 运行
test2.py
,输出如下:
out[2]: test1's name : test1
test2's name : __main__
test2 runs as main !
test1
的if
代码块没有执行
- 一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用执行。
- 每一个文件都有一个内置的
__name__
变量,用来指示当前文件的名字,当这个文件直接被执行时,__name__
值为__main__
,当被调用执行(即以模块形式)时,__name__
值为模块名。 -
if __name__ == '__main__' :
的作用就是控制这两种情况执行代码的过程,此代码块只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的,如上所示。