Python 中的循環依賴
使用 Python 模組時遇到循環依賴可能是一個令人沮喪的問題。在這個特定場景中,我們有兩個文件,node.py 和 path.py,分別包含 Node 和 Path 類別。
最初,path.py 使用 from node.py import * 導入 node.py。但是,在向 Node 新增引用 Path 物件的新方法後,導入 path.py 會導致錯誤,因為 Node 未定義。
要解決循環依賴,請考慮實現以下內容:
利用惰性求值:不要在初始化期間將一個模組導入到另一個模組中,而是僅在特定函數中需要時才導入它。例如,在node.py中,僅在需要時導入Path:
# in node.py from path import Path class Node ...
在path.py中,僅在需要它的方法中導入Node:
# in path.py class Path def method_needs_node(): from node import Node n = Node() ...
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3