__name__

模块属性_name_,它的值由Python解释器设定
1. 如果脚本文件是作为主程序调用,其值就设为main
2. 如果是作为模块被其他文件导入,它的值就是其文件名

# e3.py 
#!/usr/bin/python

def printer(s):
    print s

#e2.py
#!/usr/bin/python

import e3

print "e3.__name__ = ", e3.__name__
print "e2.__name__ = ", __name__

#执行结果
$ python e2.py 
e3.__name__ =  e3  #被调用时候, __name__为模块的名字,即文件名
e2.__name__ =  __main__  #直接执行,__name__为__main__

这个属性非常有用,常可用来进行模块内置测试使用,经常在一些地方看到类似于下面的写法,这些语句只在作为主程序调用时才被执行。

#!/usr/bin/python

def printer(s):
    print s

if __name__ == "__main__":
    printer("hello python")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值