相互或循環導入的問題
當Python 中的兩個模組嘗試相互導入時,看似預期的結果將是成功導入。然而,多個模組進行循環導入嘗試的場景會帶來複雜性。
直接與來自導入
如果嘗試直接導入(例如,在 bar.import 中導入 foo)。 py 和 foo.py 中的 import bar),導入通常會成功執行。在程式碼執行開始時,兩個模組都將被載入並建立相互引用。
使用「from」導入(例如,from foo import abc 和 from bar import xyz)時會出現問題。在這些情況下,每個模組都需要在導入自己的模組之前先導入另一個模組。這會造成死鎖。
Python 中的工作循環導入
儘管存在潛在的循環導入問題,但在某些情況下它們不會導致問題。特定 Python 版本的範例包括:
Python 3:
其他注意事項
星號導入(例如,from foo import *)可能會引入所提供的參考文獻中未涵蓋的進一步複雜性下面。
以上是如何避免或管理 Python 中的循環導入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!