`

Python __name__

 
阅读更多

看python程序是经常会碰到 if __name__ == '__main__' 这样的语句,甚是不解

python中最重要的概念就是模块,对于仅仅为了让别的程序导入而创建的模块,我们不会去直接执行这个模块,那么我们怎么知道这个模块是否正确?怎么知道模块式直接执行还是被导入?

 

 

如果模块是被导入, __name__ 的值为模块名字 

如果模块是被直接执行, __name__ 的值为 '__main__',这是通常作为测试用

 

 

'''
Created on 2012-8-4

@author: KeXie
'''

def say_hi(str):
    print 'Hi\t' + str
    
def test():
    say_hi("test case")
    
if __name__ == '__main__':
    test()
else : 
    print 'import as a module by others'

 

import testModule
testModule.say_hi("anhui") 
如果直接执行上个程序,那么结果为Hi	test case , 被当作模块导入时则输出
import as a module by others
Hi	anhui
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics