【Python】if __name__ == "__main__"

更新於 2024/11/24閱讀時間約 2 分鐘
示範圖例

常常會在其他教學影片中看到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時的動作。

即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
avatar-img
13會員
64內容數
遇到的坑、解過的題、新知識的探索、舊時代的遺毒!? 工作後我發現,文件更新往往跟不上新需求的更迭,犯錯的歷史總是不斷重演。因此,我改變了方式,蒐集從程式上、系統上的每一次異常處理過程,好讓再次遇到相同的問題時能快速應變。此專題就是我的錯題本,期待日後不管在工作上或交流上遇到難題,都能輕鬆地應答:有什麼難的,我都踩過。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Err500 的其他內容
安裝下載 在瀏覽器搜尋列上輸入python,找到官方網站後進入下方畫面。 Python 官方網站頁面 在Downloads下拉列表中,可以尋找使用者自己電腦對應的作業系統選項,而基本上旁邊會提供最新版本的選取方框,點擊並下載。
寫在前面 嚴格說起來,這是第五次閱讀這本書了。 還記得第一次在金石堂拿著這本書站在角落翻閱的時候,我還只是一個剛考上地方第一志願,趁著放長假未開學無所事事的高中新鮮人。...
大學時期,第一門給我危機感的科目,是計算機概論。科目名稱表面上是如此,實際上該叫做程式語言,而且使用的還是工科老字號語言--Fortran 77,搭配陽春的NotePad++跟Command line。
雖然已經不是第一次出國,但是去日本遊玩倒是第一次。出發前一晚還想說拿出日本語gogogo複習下基本的文型跟單字,最後還是睡飽飽養足出遊的精神。
安裝下載 在瀏覽器搜尋列上輸入python,找到官方網站後進入下方畫面。 Python 官方網站頁面 在Downloads下拉列表中,可以尋找使用者自己電腦對應的作業系統選項,而基本上旁邊會提供最新版本的選取方框,點擊並下載。
寫在前面 嚴格說起來,這是第五次閱讀這本書了。 還記得第一次在金石堂拿著這本書站在角落翻閱的時候,我還只是一個剛考上地方第一志願,趁著放長假未開學無所事事的高中新鮮人。...
大學時期,第一門給我危機感的科目,是計算機概論。科目名稱表面上是如此,實際上該叫做程式語言,而且使用的還是工科老字號語言--Fortran 77,搭配陽春的NotePad++跟Command line。
雖然已經不是第一次出國,但是去日本遊玩倒是第一次。出發前一晚還想說拿出日本語gogogo複習下基本的文型跟單字,最後還是睡飽飽養足出遊的精神。
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。 為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。 可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。 以下是一些常用的 os 模組基本操作及其範例: 1. os.getcwd
解讀JSON 字串 首先,你需要使用 Python 的 json 模組來解讀JSON 字串。 JSON的基本結構: 由花括號 {} 包圍,內部是鍵值對的集合,每個鍵值對之間用逗號分隔。 鍵是字串類型,值可以是任何JSON支持的資料類型(字串、數字、布林值、陣列、物件或 null)。 {
Thumbnail
琉球博物館的旁邊就是San-A那霸Main Place,它是沖繩那霸市規模最大的購物中心,位於那霸市新都心Omoromachi(おもろまち)。該購物中心由沖繩的超市龍頭「SAN-A」所營運,店內除了有賣場寬廣的超市之外,還有服飾專賣店、電影院、餐廳等,是沖繩縣民生活中不可或缺的存在。 San-
Thumbnail
溫哥華到西雅圖開車就可以到了。在離西雅圖約20分鐘車程的Bellevue城市,居住環境好,交通也相當方便,當然也有美味的餐廳可以一飽口福。Gilbert's on Main就是一間你值得品嘗的餐廳唷!
Thumbnail
  在計算數字時我們要先搞懂運算符號代表的涵義,Python裡面的符號跟我們認知的不會有太大的差別,但是有一些代表不一樣的意思,就必須搞懂才不會在寫程式時,程式碼的重複性太高,會導致日後的維修性降低。
Thumbnail
常常會遇到好不容易寫好程式,但是輸出的時候沒辦法按照自己想要的格式,或是間隔來輸出,這時需要用到的就是格式化輸出,格式化輸出就是調整排版的一個形式。
Thumbnail
一、什麼是變數?   變數是指用來代表某一種資料型態的符號,以非數字的符號來表達,可以是英文字母也可以是一個英文單字,不過python有一些英文字母不能被當作變數,我們稱作保留字,例如:False、None、True、and、is、not、or、......,之後會在介紹。
Thumbnail
IDE是甚麼? IDE又叫做整合開發環境(Integrated Development Environment),在編輯程式碼時有許多的步驟,例如撰寫、編譯、除錯、執行......等過程,都是分開進行,但現在可以在同一個環境下開發,而使用的這些環境正是IDE。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。 為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。 可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。 以下是一些常用的 os 模組基本操作及其範例: 1. os.getcwd
解讀JSON 字串 首先,你需要使用 Python 的 json 模組來解讀JSON 字串。 JSON的基本結構: 由花括號 {} 包圍,內部是鍵值對的集合,每個鍵值對之間用逗號分隔。 鍵是字串類型,值可以是任何JSON支持的資料類型(字串、數字、布林值、陣列、物件或 null)。 {
Thumbnail
琉球博物館的旁邊就是San-A那霸Main Place,它是沖繩那霸市規模最大的購物中心,位於那霸市新都心Omoromachi(おもろまち)。該購物中心由沖繩的超市龍頭「SAN-A」所營運,店內除了有賣場寬廣的超市之外,還有服飾專賣店、電影院、餐廳等,是沖繩縣民生活中不可或缺的存在。 San-
Thumbnail
溫哥華到西雅圖開車就可以到了。在離西雅圖約20分鐘車程的Bellevue城市,居住環境好,交通也相當方便,當然也有美味的餐廳可以一飽口福。Gilbert's on Main就是一間你值得品嘗的餐廳唷!
Thumbnail
  在計算數字時我們要先搞懂運算符號代表的涵義,Python裡面的符號跟我們認知的不會有太大的差別,但是有一些代表不一樣的意思,就必須搞懂才不會在寫程式時,程式碼的重複性太高,會導致日後的維修性降低。
Thumbnail
常常會遇到好不容易寫好程式,但是輸出的時候沒辦法按照自己想要的格式,或是間隔來輸出,這時需要用到的就是格式化輸出,格式化輸出就是調整排版的一個形式。
Thumbnail
一、什麼是變數?   變數是指用來代表某一種資料型態的符號,以非數字的符號來表達,可以是英文字母也可以是一個英文單字,不過python有一些英文字母不能被當作變數,我們稱作保留字,例如:False、None、True、and、is、not、or、......,之後會在介紹。
Thumbnail
IDE是甚麼? IDE又叫做整合開發環境(Integrated Development Environment),在編輯程式碼時有許多的步驟,例如撰寫、編譯、除錯、執行......等過程,都是分開進行,但現在可以在同一個環境下開發,而使用的這些環境正是IDE。