if __name__="__main__":

1.疑问与背景:

在Python脚本中,通常会有“if __name__==’__main__:”作为程序的入口,但没有这么一句代码,程序也能正常运行。

在Java,每次开启一个程序,都必须写一个主函数(ie:main函数)作为程序的入口。

在“if __name__==’__main__:”也像是一个标志,象征着python程序主入口,一般在使用单个python文件的时候,并感觉不出他的作用,只有当脚本之间引用的时候,才能体会到if __name__==’__main__'的作用。

2.代码分析

但是我们在在test1包下的脚本test11.py脚本去引用test2包下的test21.py脚本:

结构如下:

 在test1包下的脚本 test11.py:

from test2 import test21

print(123)

在test2包下的脚本test21.py

无论是含有还是不含有结果是一致

print(1)

if __name__ == '__main__':
    print(10)
print(1)

print(10)

 

最终结果如下:

 这样我们就学到了一种技能:

如果在模块1中,我们有部分的代码不想在被导入到2时直接被运行,但在直接运行1时可直接运行,那该怎么做呢?那就可以用到“if __name__==’__main__:”这行代码了。

原文地址:https://www.cnblogs.com/wqbin/p/11769955.html