首頁 > 後端開發 > Python教學 > 為什麼 Python 在導入時執行程式碼,以及如何防止它?

為什麼 Python 在導入時執行程式碼,以及如何防止它?

DDD
發布: 2025-01-02 22:26:43
原創
547 人瀏覽過

Why Does Python Execute Code at Import Time, and How Can I Prevent It?

了解導入時的 Python 模組執行及其緩解措施

使用 batch.py​​ 執行 Python 程式時遇到一個特殊問題。導入主模組時出現錯誤。本問題探討了 Python 在匯入時執行程式碼的原因,並提供了緩解這種行為的解決方案。

潛在問題

Python 將 class 和 def 等關鍵字解釋為可執行語句。導入模組會觸發這些語句的立即執行。對於batch.py​​,導入main會導致執行main的程式碼,從而導致上述錯誤。

解決方案:僅在必要時執行程式碼

慣用語解決這個問題的方法是分離程式碼執行。以下做法使您能夠定義函數和類,同時防止它們執行,除非直接運行模組:

# Code to be executed regardless of import status
# (e.g., class and function definitions)

def main():
    # Code to be executed only when the module is run as the main program

if __name__ == "__main__":
    main()
登入後複製

透過將可執行程式碼放在主函數中,Python 僅在直接運行模組時執行它通過其腳本名稱,例如“python main.py”。這可以防止模組導入期間意外執行程式碼,例如“python batch.py​​”的情況。

以上是為什麼 Python 在導入時執行程式碼,以及如何防止它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板