【Python】if __name__ == "__main__"

2020/05/20閱讀時間約 1 分鐘
示範圖例
常常會在其他教學影片中看到if __name__ == "__main__" 的寫法,為什麼要這樣做呢?
先看看下面這個hello.py,裡面做了兩件事:
  1. 印出Hello,world
  2. 印出__name__,而CMD執行出來是__main__
執行hello.py
再來看看下面這個test.py,裡面只import進來剛剛寫好的hello.py,因此可以看到輸出結果會執行hello.py的內容,也就是印出Hello,world以及__name__,而__name__我們在CMD上看到結果是hello。
執行test.py
從上面兩個檔案可以知道當我執行的是當前的檔案,__name__表示的是__main__,在檔案被其他檔案import進去使用時,__name__表示的是該檔案的檔名。
總結以上結果,當我要寫套件並把內容都封裝到function中,程式執行結果並不會有任何東西產生,因為我並沒有呼叫任何一個function。藉由__name__跟if的邏輯判斷來控制這個套件,並且定義一個function main()作為程式的進入點,區分該檔案是在直接執行的狀況下做動作以及被其他檔案import時的動作。
10會員
54內容數
遇到的坑、解過的題、新知識的探索、舊時代的遺毒!? 工作後我發現,文件更新往往跟不上新需求的更迭,犯錯的歷史總是不斷重演。因此,我改變了方式,蒐集從程式上、系統上的每一次異常處理過程,好讓再次遇到相同的問題時能快速應變。此專題就是我的錯題本,期待日後不管在工作上或交流上遇到難題,都能輕鬆地應答:有什麼難的,我都踩過。
留言0
查看全部
發表第一個留言支持創作者!