关于if __name__ == '__main__':
已有 209 次阅读2017-4-21 11:06
|个人分类:python入门|
python
刚开始还不明白“if __name__ == '__main__':”到底是干嘛的,看了讲义也不太明白,发现Vamei老师讲的这个豁然开朗了。
转:Vamei
当我们编写Python库模块的时候,我们往往运行一些测试语句。当这个程序作为库被import的时候,我们并不需要运行这些测试语句。一种解决方法是在import之前,将模块中的测试语句注释掉。Python有一种更优美的解决方法,就是使用__name__。下面是一个简单的库程序TestLib.py。当直接运行TestLib.py时,__name__为"__main__"。如果被import的话,__name__为"TestLib"。
def lib_func(a):
return a + 10
def lib_func_another(b):
return b + 20
if __name__ == '__main__':
test = 101
print(lib_func(test))
我们在user.py中import上面的TestLib。
import TestLib
print(TestLib.lib_func(120))
你可以尝试不在TestLib.py中使用if __name__=='__main__', 并对比运行结果。