码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-11-22 10:31:44      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:编译   soft   相互   解释   family   定义   运行时   pytho   package   

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__'

标签:编译   soft   相互   解释   family   定义   运行时   pytho   package   

原文地址:https://www.cnblogs.com/gaojr/p/11909989.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!