方格精選

為甚麼很多程式碼都有if __name__ == '__main__': ?

閱讀時間約 1 分鐘
前言
今天的前言一樣是可以跳過的,坐下來寫文章的原因是因為正在coding中,但有個地方錯誤怎麼都找不出問題,只好沉靜下來放鬆心思,寫一個簡單的程式概念,也算是利用發散模式解決問題,發散模式是我最近正在閱讀”學習如何學習”中提到的,也許有時間也可以說說我如何實踐該本書的學習方式。
正文開始囉
一個檔案通常有兩種操作,一個是被執行,另一種則是被引用。
在python引用一個檔案,有一件事值得注意:該檔案被引用時,檔案內的每一行都會被python直譯器讀取並執行。假如我在B檔案寫一個function,而我在A檔案要使用該function於是引用B檔案,並且執行A檔案,依照前面的邏輯,那不就等於這個B檔案function會被執行兩次!?下面會說明我們如何防止B被執行兩次,這就是為甚麼常看見if __name__ == '__main__': ?
Python 直譯器執行程式碼時,有一些隱藏的變數,模組名稱__name__就是其中一個,在不同情況,這個隱藏變數__name__會有所不同。
  1. 當檔案是被直接執行:__name__ = __main__。
  2. 當檔案是被引用執行:__name__ = 檔名。
用上述來寫一個範例,有AB兩個python檔如下。
當我沒有利用if __name__ == '__main__':,而執行A檔案,結果如下圖,可以看到A檔案__name__ = __main__,B檔案的function被執行兩次,且__name__ = 檔名。
如果我們將B檔案改寫一下利用if __name__ == '__main__': ,再重新執行一次程式,結果如下,B檔案就不會因為被引用而多執行一次在B檔案就有用到的function。
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
10會員
17Content count
關於多益的單字整理、記憶方法、心路歷程、英文的基礎概念。
留言0
查看全部
發表第一個留言支持創作者!
薰魚的沙龍 的其他內容
用python寫出應用筆電相機儲存照片。
用python寫出應用筆電相機儲存照片。
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
The man looked at a great pile of jeans and said: ”Why you need so many jeans?”男人看著成堆的牛仔褲說:「為什麼你需要這麼多牛仔褲?」 Lady: ”But they are different.”女人說:「他們都不一樣啊
這世界那麼多人。 疫情開始蔓延開了。也許這是宇宙偷偷回應我的心願嗎?我的確希望台灣不要跟世界不同,活得像平行國度一樣,過於如常的繼續不珍視(當然是某部分的人,不是整體)得來不易的安穩。深處深處有壞心的想著,『有的人真的該繼續活著嗎?』『為什麼還活著?』可能這就是劣根性本性的真我吧,我不覺得自己能對得
Thumbnail
西方音樂體系中,音程由度數和音數決定,因為有了音程,才會有和弦、和聲概念(Harmony)以及旋律。音程指兩個音之間的距離,單位為「度」(Degree),當中較較低的音稱為「根音(下方音)」;較高的音稱為「冠音(上方音)」。音程的分類包括︰旋律音程、和聲音程、單音程、複音程、協和音程、不協和音程等。
Thumbnail
課本上說,形容詞的前面要用「が」,比如他頭腦好寫成「彼は頭がいいです」。 課本又說,形容詞的前面要用「に」,比如青菜對身體好寫成「野菜は体にいいです」。 這兩者,有甚麼差別嗎?
Thumbnail
有極少數的幸運兒徘徊於生死之間,經歷瀕死時刻,最後奇蹟似地重回這個世界。在香港長大的 Anita Moorjani 在她的《Dying To Be Me: My Journey from Cancer, to Near Death, to True Healing》書裡披露了她的傳奇經驗。
Thumbnail
前幾個月,我成開始追蹤《醫生哪有這麼萌》的作者Nikumon,常常看他用圖文發表在醫院工作的趣事,還有和刺青哥神來一筆的幽默日常,既暖心又被閃到眼睛刺痛。書中的插畫雖不免和粉絲團有重複,但Nikumon在書中增加許多醫生的獨白、醫病關係的討論,還有許多非醫療人員就無從得知的醫院小內幕
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
The man looked at a great pile of jeans and said: ”Why you need so many jeans?”男人看著成堆的牛仔褲說:「為什麼你需要這麼多牛仔褲?」 Lady: ”But they are different.”女人說:「他們都不一樣啊
這世界那麼多人。 疫情開始蔓延開了。也許這是宇宙偷偷回應我的心願嗎?我的確希望台灣不要跟世界不同,活得像平行國度一樣,過於如常的繼續不珍視(當然是某部分的人,不是整體)得來不易的安穩。深處深處有壞心的想著,『有的人真的該繼續活著嗎?』『為什麼還活著?』可能這就是劣根性本性的真我吧,我不覺得自己能對得
Thumbnail
西方音樂體系中,音程由度數和音數決定,因為有了音程,才會有和弦、和聲概念(Harmony)以及旋律。音程指兩個音之間的距離,單位為「度」(Degree),當中較較低的音稱為「根音(下方音)」;較高的音稱為「冠音(上方音)」。音程的分類包括︰旋律音程、和聲音程、單音程、複音程、協和音程、不協和音程等。
Thumbnail
課本上說,形容詞的前面要用「が」,比如他頭腦好寫成「彼は頭がいいです」。 課本又說,形容詞的前面要用「に」,比如青菜對身體好寫成「野菜は体にいいです」。 這兩者,有甚麼差別嗎?
Thumbnail
有極少數的幸運兒徘徊於生死之間,經歷瀕死時刻,最後奇蹟似地重回這個世界。在香港長大的 Anita Moorjani 在她的《Dying To Be Me: My Journey from Cancer, to Near Death, to True Healing》書裡披露了她的傳奇經驗。
Thumbnail
前幾個月,我成開始追蹤《醫生哪有這麼萌》的作者Nikumon,常常看他用圖文發表在醫院工作的趣事,還有和刺青哥神來一筆的幽默日常,既暖心又被閃到眼睛刺痛。書中的插畫雖不免和粉絲團有重複,但Nikumon在書中增加許多醫生的獨白、醫病關係的討論,還有許多非醫療人員就無從得知的醫院小內幕