VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > 数据分析 >
  • if __name__ == '__main__' 用法理解

if __name__ == '__main__' 用法理解

 

我们知道:#

一个Python文件有两种使用方法, 第一是直接作为脚本执行,第二是通过在其它py文件中导入该文件调用执行。
而if __name__ == '__main__'的作用就是控制这两种情况的代码执行过程。
简言之:if __name == '__main__'下的代码只有在被作为脚本执行的情况下才会执行
 

举个例子:#

新建test_01.py文件:#

复制代码
print('Run is good sport!')
print(__name__)
if __name__ == '__main__':
    print('我被当作脚本执行了')
 
# 执行test_01.py结果:
Run is good sport!
__main__
我被当作脚本执行了
复制代码

新建test_02.py文件:#

复制代码
from name_main import test_01
print(__name__)
 
# 执行test_02.py结果:
Run is good sport!
name_main.test_01
__main__
复制代码

分析:#

第一次执行test_01.py文件:
test_01.py当作脚本执行,则脚本中的__name__就是'__main__',所以会依次执行
print('Run is good sport!')
print(__name__)
print('我被当作脚本执行了')
 
第二次执行test_02.py文件:
首先导入test_01.py文件,py文件在导入的时候会执行导入文件的代码所以
print('Run is good sport!')
print(__name__)
然后由于test_01.py文件是作为模块导入的,所以此时__name__就不会是'__main__'(而是导入的文件名name_main.test_01),所以if __name__ == '__main__'条件不成立
然后继续执行
print(__name__),此时的__name__由于是test_02.py当作脚本执行,所以就是'__main__'
 

最后总结:#

if __name__ == '__main__'的主要用处就是模块当作脚本执行时的部分代码私有化,也就是只有当作脚本执行的时候if __name__ == '__main__'下的代码才会执行。

作者: MrSu

出处:https://www.cnblogs.com/suguangti/p/12632119.html



相关教程