__name__属性
在较大型的项目开发中,一个项目通常由多名开发人员共同开发,每名开发人员负责不同的模块。为了保证自己编写的程序在整合后可以正常运行,开发人员通常需在整合前额外编写测试代码,对自己负责的模块进行测试。然而,对整个项目而言,这些测试代码是无用的。为了避免项目运行时执行这些测试代码,Python中设置了__name__
属性。
__name__
属性通常与if条件语句一起使用,若当前模块是启动模块,则其__name__
的值为“__main__
”;若该模块被其它程序导入,则__name__
的值为文件名。
下面自定义的calc模块为例,演示__name__
属性的用法。在calc模块中增加如下代码:
if __name__ == "__main__":
print(add(3, 4)) # 执行calc模块中的add()函数
print(subtract(3, 4))
print(multiply(3, 4))
print(divide(3, 4))
else:
print(__name__)
运行calc.py文件的结果如下所示:
7
-1
12
0.75