if __name__ == '__main__':這行程式碼的作用是什麼呢?本節就詳解講解以下它的作用。
''' 攝氏度和華氏度的相互轉換模組 ''' def c2f(cel): fah = cel * 1.8 + 32 return fah def f2c(fah): cel = (fah - 32) / 1.8 return cel def test(): print("測試資料:0 攝氏度 = %.2f 華氏度" % c2f(0)) print("測試資料:0 華氏度 = %.2f 攝氏度" % f2c(0)) test()單獨執行此模組檔案,可以看到如下執行結果:
測試資料:0 攝氏度 = 32.00 華氏度
測試資料:0 華氏度 = -17.78 攝氏度
import candf print("32 攝氏度 = %.2f 華氏度" % candf.c2f(32)) print("99 華氏度 = %.2f 攝氏度" % candf.f2c(99))執行 demo.py 檔案,其執行結果如下所示:
測試資料:0 攝氏度 = 32.00 華氏度
測試資料:0 華氏度 = -17.78 攝氏度
32 攝氏度 = 89.60 華氏度
99 華氏度 = 37.22 攝氏度
print(__name__) print(candf.__name__) 其執行結果為: __main__ candf可以看到,當前執行的程式,其 __name__ 的值為 __main__,而匯入到當前程式中的模組,其 __name__ 值為自己的模組名。
if __name__ == '__main__':
的作用是確保只有單獨執行該模組時,此表示式才成立,才可以進入此判斷語法,執行其中的測試程式碼;反之,如果只是作為模組匯入到其他程式檔案中,則此表示式將不成立,執行其它程式時,也就不會執行該判斷語句中的測試程式碼。