python中if __name__ == '__main__':的用法
程序员文章站
2022-03-03 10:27:17
...
python中if __name__ == '__main__':的用法
作为脚本直接运行
直接执行含if name == ‘main’:语句会将if语句中的代码执行。
- 创建test.py文件,代码如下:
print('A中的__name__值为{}'.format(__name__))
if __name__=='__main__':
print('hello world')
- 直接运行(python test.py),结果如下:
A中的__name__值为__main__
hello world
作为模块被其它脚本导入
作为模块被其它脚本导入时,if语句中的代码不会被执行。
- 创建新脚本:
import test
print('ceshi包中的__name__为:{}'.format(__name__))
- 执行新脚本:
A中的__name__值为test
ceshi包中的__name__为:__main__
两个脚本文件应在同一文件夹下才能被导入,此时if语句中的代码不会被执行
运行原理
当哪个脚本被执行时,该脚本的__name__就是__main__,所以直接运行test脚本,if语句会被执行。当脚本ceshi用import将test导入时,A中的__name__值为test(见ceshi脚本代码执行结果),因此test脚本中__name__!= main,因此if语句后面内容不会被执行。
上一篇: xpath的优化