欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-10-28 23:03:34
if __name__ == '__main__'的意思是:当.py文件被直接运行时,if __name__ == '__main__'之下的代码块将被运行;当.py文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行。 Python则不同,它属于脚本语言, ......

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/