python学习(1):__name__变量在模块调用时所起的作用

我们在模块中编写函数,供调用该模块的文件使用。

当我们在编写模块时,也写了一些测试代码,供编写模块的人自己使用。

但是这些测试对于调用者是没用的,也会执行。

举个例子:首先编写模块,并提供测试代码

def addFunc(a,b):
    return a+b

print('test计算结果:',addFunc(1,1))    #测试代码

调用以上模块:

import test
print('调用test模块执行的结果是:',test.addFunc(12,23))

那么,执行结果是:

test计算结果: 2
调用test模块执行的结果是: 35

显然,第一句并不是调用者所需要的

为了解决这一问题,python提供了一个系统变量:__name__

注:name两边各有2个下划线

__name__有2个取值:当模块是被调用执行的,取值为模块的名字。当模块是直接执行的,则该变量取值为:__main__

于是乎,被调用模块的测试代码就可以写在if语句里了,如下:

def addFunc(a,b):
    return a+b

if __name__ == '__main__':
    print('test计算结果:',addFunc(1,1))

这样,如果模块被调用,测试代码就不会被执行了。


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值