模块的特殊属性__name__
模块的特殊属性__name__在不同情况下的取值
1、对于被导入的模块,其特殊属性__name__的值为模块名。
2、对于直接运行的模块,其特殊属性__name__的值为__main__。
例如:
[root@lyucan ~]# cat mod.py
#!/usr/bin/python3
print('模块__name__的值为:', __name__)
[root@lyucan ~]# cat module.py
#!/usr/bin/python3
import mod
# 直接运行
[root@lyucan ~]# ./mod.py
模块__name__的值为: __main__
#被当做模块导入
[root@lyucan ~]# ./module.py
模块__name__的值为: mod
可以根据__name__
的值判断是否执行模块中的测试代码
对于模块中的测试代码,通常当直接运行模块时,才需要运行,而当模块被导入时,则不需要执行。因此,可以根据__name__
的值判断是否执行模块中的测试代码
if __name__ == '__main__':
...
...
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 289211569@qq.com