通俗易懂!python中"if __name__ = '__main__'"

 

1、当把在模块B中导入模块A时,只要模块B执行到import语句时,模块A的代码会被执行。

# 模块A(文件名是testA)
a = 1
print(a)
print('模块A')
# 模块B
from testA import A
b = 2
print(b)
print('模块B')

模块B运行结果是:

1
模块A
2
模块B

2、如果在模块A中,我们有部分代码不想在导入模块B中时被模块B执行,但是如果是模块A自己执行时可以执行,那该怎么做呢?

这时我们就可以用到

if __name__ = '__main__'
# 模块A(文件名是testA)
a = 1
print(a)
if __name__ = '__main__'
    print('模块A')

模块B不做任何改动,此时模块B输出结果为:

1
2
模块B

输出结果中没有了“模块A”,这是因为打印模块A的语句位于"if __name__ = '__main__'"内部

3、'__name__'是python的内置变量,用于指代当前模块。

当哪个模块被执行时,该模块的__name__值就是__main__;当用作被导入模块时__name__值是模块的真实名称。

总结:通俗地讲,"if __name__ = '__main__'"内部的代码是“认主”的,只有该模块自己执行时才会执行,其他情况一律不执行。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值