【Python】代码中关于__name__的说明

查找资料的时候,经常看到别个的代码是带有__name__判断。如下这样的代码

这是什么东西能做什么用,今天我们就来简单了解下__name__这个系统变量。


简单定义

__name__ 就是标识模块的名字的一个系统变量 。

证明实例

1、首先写一个test1.py

#-- coding : UTF-8 --

def test():
    print("test1 : __name__ ( %s )" %__name__)

test()

test1.py运行结果:

2、再写一个test2.py调用test1.py

import test1

def test():
    print("test2 : __name__ ( %s )" %__name__)

test1.test()
test()

test2.py运行结果:

这里打印了两次,第一次实在main.py在进行import test1的时候,进行的打印,第二次才是test1.test()中执行的打印,可以发现,这里的__name__名称已经发成了变化,从之前的main变成了模块名称test1,而test2中的是main。

3、总结

1、__name__这个系统变量显示了当前模块执行过程中的名称,如果当前程序运行在这个模块中,__name__ 的名称就是__main__如果不是,则为这个模块的名称(如test1)。 
2、__main__一般作为函数的入口,类似于C语言,尤其在大型工程中,常常有if __name__ == "__main__":来表明整个工程开始运行的入口。

用法

将test1修改成:

#-- coding : UTF-8 --

def test():
    print("test1 : __name__ ( %s )" %__name__)

if __name__ == "__main__":
    test()

运行结果:

这里只打印了一次,在main.py在进行import test1的时候,这一次因为判断到不是__name__所以没有打印,真正的打印是在test1.test()中执行的打印。

这个判断(if __name__ == "__main__":)可以用来做模块化代码测试,而不用担心被别的模块调用时执行到。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值