1. 如果模块是被导入,__name__的值为模块名字
2. 如果模块是被直接执行,__name__的值为’__main__’
 
Py1.py
#!/usr/bin/env python
def test():
 print '__name__ = ',__name__
if __name__ == '__main__':
 test()
Py2.py
#!/usr/bin/env python
import Py1.py
 
def test():
 print '__name__ = ',__name__
if __name__ == '__main__':
 test()
 print ‘Py1.py __name__ = ’,Py1.__name__
执行结果:
__name__=__main__
Py1.py __name__=Py1

 

通过结果可以知道,Py2.py直接执行,那么内建变量__name__的值为__main__,否则为模块的名字,通过这个特性可以在if语句里面添加测试代码,可以提高减少BUG,提高程序的健壮性。
if __name__ == '__main__':
 test()

 

posted on 2016-06-23 16:39  芒果-Vic  阅读(298)  评论(0编辑  收藏  举报