Python3:if __name__ == '__main__' 详解

  • 一般在风格比较好的代码中会有一行if __name__ == '__main__' :代码,这里说明一下这句代码的用处,先上两个代码test1.pytest2.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 !

test1if代码块没有执行

  • 一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用执行。
  • 每一个文件都有一个内置的__name__变量,用来指示当前文件的名字,当这个文件直接被执行时,__name__值为__main__,当被调用执行(即以模块形式)时,__name__值为模块名。
  • if __name__ == '__main__' : 的作用就是控制这两种情况执行代码的过程,此代码块只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的,如上所示


作者:ACphart
链接:https://www.jianshu.com/p/de19cdeb9195
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
原文地址:https://www.cnblogs.com/cheyunhua/p/9527816.html