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()
新聞熱點
疑難解答