if __name__ == __main__:什么意思_一个实例理解Python中的if __name__ ==“__main__”

事实上'__main__'是一个作用域的名称,当在脚本中读取、执行、交互时,模块的__name__等于'__main__'。

一个实例让你理解Python中的__name__及__main__的关系

#一个名为test的py文件a = __name__print(a)#输出结果为__main__
#一个名为test_2的py文件(这里调用上面那个test.py)import testtest.a#输出结果为test
  • 这里第一个test文件可以理解为打印出脚本自身的模块名称,但由于(在自身调用会显示__main__)这个机制他并不会显示出自身模块名称。
  • 也就是说如果我在test中调用__name__他的结果是__main__。
  • 但当我们在test_2中调用test文件,则会显示模块名称(即文件名称),这里为test。

那么if __name__ == "__main__"的含义就不言而喻,就是防止其他脚本调用该模块。

如果还不是很理解他们两之间的关系,我们就以更通俗的说发来介绍:

小明看着镜子里面的自己:小明认识镜子里面的人是自己

(也就是 __name__ == "__main__",小明知道镜子里面的人是自己)

而小明的朋友看见小明时:小明的朋友也认识眼前的人,知道他叫小明

(也就是当他被其他脚本调用时会显示出被调用脚本的模块名称,而不是main,就是说小明的朋友看见小明以后不会说看见了自己,而是会喊出他的名字“嗨,小明”)

7e213e5a18d062a264c5a6e3f171b14b.png
  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值