Python中if __name__ == "__main__": main() 的作用
在写的比较好的Python脚本中经常可以看见这样一句话
要理解这段代码的作用,首先要理解python文件(.py)的执行原理
1 执行原理
python文件的执行方式有两种,第一种直接执行,即编码完成后直接执行该文件
第二种,在另外一个python文件中通过import方式导入python文件,执行
2 __name__ 和__main__
这里假设有两个python文件 test.py 和 test附件.py
其中test.py包含if __name__ == "__main__": main()代码
test附件.py包含import test.py代码,表示引用这个模块
那么 test.py 的__name__ == test.py __main__ == test.py
但是在test附件.py 中 __name__ == test,注意这里没有.py
3 作用
这样做的作用是什么呢,只有自己运行自己才能执行if语句中的代码,其他文件调用时无法执行,增加了安全性,比如你开发了一个发信息功能的python文件,只希望自己可以运行,就要加if __name__ == "__main__": main() 这句代码,这样其他人就算导入你的python文件也无法实现这个功能。