首頁 >後端開發 >Python教學 >`if __name__ == '__main__':` 在 Python 中做什麼,為什麼它很重要?

`if __name__ == '__main__':` 在 Python 中做什麼,為什麼它很重要?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-24 19:30:18920瀏覽

What Does `if __name__ ==

if __name__ == "__main__": 會做什麼?為什麼要包含 if 語句?

此程式碼檢查模組是否作為主程式運行(而不是作為模組導入)。如果它是作為主程式運行,它將執行 if 語句中的程式碼。

為什麼要包含此語句?

  1. 防止意外的腳本執行:

    • 沒有通過此檢查,導入腳本(例如import my_script)會無意導入中運行腳本的程式碼,即使您只想導入其函數/類別。這可能會導致衝突或意外行為。
  2. 防止pickle 問題:

    • pickling 在a 中定義的類script 將觸發腳本的執行並將腳本導入到unpickling 環境中。這可能會導致命令列參數和其他特定於腳本的依賴項出現問題。

它是如何運作的?

  • __name__: 當 Python執行腳本時,它會設定名稱變數為「__main__。」
  • 匯入模組:當您匯入非主模組時,Python會將模區塊的名稱分配給其__name__.

範例:

這確保第一個程式碼區塊僅在直接執行腳本時執行(例如, python my_script. py),而第二個程式碼區塊僅在該腳本匯入到另一個腳本時執行(例如, import

高級注意事項:

  • name守衛:一般不建議有多個name守衛:
  • 一般不建議有多個
  • name守衛:一般不建議有多name簽入單一文件,因為這可能會導致意外
  • 自訂
name 值: 您可以在if 語句之外手動設定name以測試不同的執行場景或提供更多控制腳本執行。

以上是`if __name__ == '__main__':` 在 Python 中做什麼,為什麼它很重要?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn