如何简单地理解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__'

如何简单理解Python中的if __name__ == '__main__':

Python 中的 if __name__ == '__main__' 该如何理解