為什麼 Python 在匯入時執行模組程式碼
在 Python 中,匯入模組不只是載入其定義。相反,模組中包含的程式碼在導入時執行。這就提出了一個問題,「如何阻止此執行?」
在導入時停止模組執行
Python 的預設行為源自於以下事實:諸如 class ”和“def”是語句而不是聲明。這意味著它們會觸發直接執行,並用功能填充您的模組。為了覆蓋這一點,慣用的方法採用以下格式的主函數:
# Always-run code (e.g., classes, definitions) def main(): # Code to execute only when the module is run directly if __name__ == "__main__": main()
透過定義主函數,您可以隔離僅應在模組作為其自己的程式執行時運行的程式碼(即,無需導入)。相反,無論模組如何使用,放置在主函數外部的程式碼都會運行。
以上是如何防止 Python 在導入時執行模組程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!