到底這個 if name == ‘main':是什麼意思呢 ?
首先,如果你永遠都只執行一個 Python 檔,而不引用別的 Python 檔案的話,那麼你不必知道這是什麼東西,反之則來好好理解它吧!
首先先創建一個 test_Demo.py 然後寫入以下程式:
然後執行 test_Demo.py 會得到:
接著在同一層的資料夾中建立名稱為 import_test_Demo.py 的檔案,寫入以下程式:
然後執行 import_test_Demo.py 會得到:
簡而言之 name 會是當前檔案名稱,當檔案被直接運行時檔案名稱將為main 。 因此,
在於獨立撰寫一些 funtion 時,可以直接執行 funtion 單純的看這個 function 功能是否正常。然而,這一個 function 實際上可能是要給一個大的主程式所使用,如果每一次都要檢查 function 是否正常,都要執行 main,是一個費時費力的過程,若能直接執行 funtion 檢查功能是否正常,將相對有效率!
簡而言之,我們透過「if name == ‘main'」來控制 funtion,可以將測試資料放在「if name == ‘main'」的裡面,當單純執行 function 的執行檔時,則會利用測試資料檢測其功能;當利用 main 呼叫 function 操作時,就不會執行測試資料!只會直接執行 main 所想代入之變數,傳到 function 運算後將結果回傳給 main!