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__:”这行代码了。