如何简单地理解Python中的if __name__ == '__main__'
Posted 清风0815
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何简单地理解Python中的if __name__ == '__main__'相关的知识,希望对你有一定的参考价值。
if __name__ == ‘__main__‘
的意思是:当.py文件被直接运行时,if __name__ == ‘__main__‘
之下的代码块将被运行;当.py文件以模块形式被导入时,if __name__ == ‘__main__‘
之下的代码块不被运行。
Python则不同,它属于脚本语言,不像编译型语言那样先将程序编译成二进制再运行,而是动态的逐行解释运行。也就是从脚本第一行开始运行,没有统一的入口。
if __name__ == ‘__main__‘
相当于Python模拟的程序入口,Python本身并没有这么规定,这只是一种编码习惯。由于模块之间相互引用,不同模块可能有这样的定义,而程序入口只有一个。
总结一下
-
当加上-m参数时,Python会把当前工作目录添加到sys.path中;而不加-m时,Python则会把脚本所在目录添加到sys.path中。
-
当加上-m参数时,Python会先将模块或者包导入,然后再执行。
-
__main__.py
文件是一个包或者目录的入口程序。不管是用python package
还是用python -m package
运行,__main__.py
文件总是被执行。
参考文章
https://blog.csdn.net/yjk13703623757/article/details/77918633/
以上是关于如何简单地理解Python中的if __name__ == '__main__'的主要内容,如果未能解决你的问题,请参考以下文章
如何快速简单粗暴地理解Python中的if __name__ == '__main__'
python3----如何简单地理解Python中的if __name__ == '__main__'
如何简单地理解Python中的if __name__ == '__main__'
如何简单地理解Python中的if __name__ == '__main__'