if __name__ == '__main__'

对于java、C++等编程语言来说,main函数是程序的入口
而python是一种解释型脚本语言,Python解释器在导入模块时,会将模块中没有缩进的代码全部执行一遍(模块就是一个独立的Python文件)。开发人员通常会在模块下方增加一些测试代码,为了避免这些测试代码在模块被导入后执行,可以利用name属性。关于这个属性有两点说明:

  • name其实是python内置属性,是一个字符串,当前python文件中利用print(name),得到的打印结果就会是main。
  • 当前的python文件被import到其他模块时,if name == 'main':下的代码不会被执行,因为被导入到其他模块之后,name 就变成了模块的文件名,而不再是main!

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

参看:
if name == 'main' 如何正确理解?

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容