1.?如果模塊是被導入,__name__的值為模塊名字
2.?如果模塊是被直接執行,__name__的值為’__main__’
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.pydef 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()
?