在Python中,我们经常可以看到一个if __name__ == '__main__' 的语句,或者说所有Python模块都有这段内置代码,__name__ 属性表示运行的Python文件的模块名称(文件名)。 其作用类似于C语言里的预处理宏定义,主要有两个作用:调试;导出。

1.调试

当运行该Python文件的时候,文件的__name__ 属性值当然是主函数入口,即:__main__ ,所以这条判断语句的返回值为True ,执行后面的代码。因此,可以在改语句后面加入调试代码,当该模块作为debug版运行的时候,用作调试。

2.导出

Python文件还有一个重要作用就是做为其他文件的导入模块,当其他文件需要导入该Python模块时,则不需要执行后面的代码。此时__name__ 属性值不等于__main__ ,所以该语句的返回值为False ,仅仅执行前面的功能代码。这样就实现了作为导出模块的功能。