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__'
条件下写入测试代码,如此可以避免测试代码在模块被导入后执行。
参考文章
以上是关于Python关于`if _name_ == “_main_“`的主要内容,如果未能解决你的问题,请参考以下文章
python中的if __name__ == '__main__' what hell is it?
`if __name__ == '__main__'` 等价于 Ruby
python日记___name__ == '__main__'
Python关于`if _name_ == “_main_“`