Python关于`if _name_ == “_main_“`

Posted Harris-H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python关于`if _name_ == “_main_“`相关的知识,希望对你有一定的参考价值。

Python关于if _name_ == "_main_"

0.为什么使用__name__属性

Python解释器在导入模块时,会将模块中没有缩进的代码全部执行一遍(模块就是一个独立的Python文件)。

开发人员通常会在模块下方增加一些测试代码,为了避免这些测试代码在模块被导入后执行,可以利用__name__属性。

1.它是python的程序入口。

学过Java、C、C++的程序员应该都知道,每次开启一个程序,都必须写一个主函数作为程序的入口,也就是我们常说的main函数。如下所示, main()就是Java中的一个main函数。

与Java、C、C++等几种语言不同的是,Python是一种解释型脚本语言,在执行之前不同要将所有代码先编译成中间代码,Python程序运行时是从模块顶行开始,逐行进行翻译执行,所以,最顶层(没有被缩进)的代码都会被执行,所以Python中并不需要一个统一的main()作为程序的入口。在某种意义上讲,“if__name__=="__main__”也像是一个标志,象征着Java等语言中的程序主入口,告诉其他程序员,代码入口在此。

这是“if __name__=="__main__”这条代码的意义之一。

2.解释

因此__name__ == '__main__'就表示在当前文件中,可以在if __name__ == '__main__'条件下写入测试代码,如此可以避免测试代码在模块被导入后执行。

参考文章

传送门1

传送门2

传送门3

以上是关于Python关于`if _name_ == “_main_“`的主要内容,如果未能解决你的问题,请参考以下文章

python中的if __name__ == '__main__' what hell is it?

`if __name__ == '__main__'` 等价于 Ruby

python日记___name__ == '__main__'

Python关于`if _name_ == “_main_“`

关于Python中的 if __name__ == '__main__'

扫盲贴000---关于python中的if __name__ == '__main__'