到底這個if __name__ == '__main__':
是什麼意思呢 ?
首先,如果你永遠都只執行一個 Python 檔,而不引用別的 Python 檔案的話,那麼你不必知道這是什麼東西,反之則來好好理解它吧!
我直接舉一個例子🌰
首先先創建一個 test_Demo.py 然後寫入以下程式:
然後執行 test_Demo.py 會得到:
Taiwan
__main__
Taiwan Number
Taiwan Number One !
接著在同一層的資料夾中建立名稱為 import_test_Demo.py 的檔案,寫入以下程式:
然後執行 import_test_Demo.py 會得到:
Taiwan
test_Demo
簡而言之 __name__ 會是當前檔案名稱,當檔案被直接運行時檔案名稱將為__main__ 。 因此,
「單獨執行」時程式將被運行,
if __name__ == '__main__'
成立「被引用」時程式不被運行,
if __name__ == '__main__'
不成立
為什麼要有if __name__ == '__main__'?
在於獨立撰寫一些funtion時,可以直接執行funtion單純的看這個function功能是否正常。然而,這一個function實際上可能是要給一個大的主程式所使用,如果每一次都要檢查function是否正常,都要執行main,是一個費時費力的過程,若能直接執行funtion檢查功能是否正常,將相對有效率!
簡而言之,我們透過「if __name__ == '__main__'
」來控制funtion,可以將測試資料放在「if __name__ == '__main__'
」的裡面,當單純執行function的執行檔時,則會利用測試資料檢測其功能;當利用main呼叫function操作時,就不會執行測試資料!只會直接執行main所想代入之變數,傳到function運算後將結果回傳給main!
謝謝你的閱讀!如果有任何回饋或疑問,歡迎留言給我!
如果對我的文章有興趣,請不吝按下Follow & Clap!
每個月都會認真更新文章唷😊 千萬別錯過了~