溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python導入模塊交叉引用的方法

發布時間:2020-09-25 23:13:56 來源:腳本之家 閱讀:208 作者:qq_34146899 欄目:開發技術

實際項目中遇到python模塊相互引用問題,查資料,終于算是弄明白了。

首先交叉引用或是相互引用,實際上就是導入循環,關于導入循環的詳細說明,可見我摘自《python核心編程》第二版的摘抄:Python導入循環方法。

附錄給了一種解決交叉引用的方法,試了,不行,但關于交叉引用問題本身說明的很清楚,如果不清楚什么是交叉引用,可看附錄一。

循環引用在python圈關注的并不多,語言上沒有提供防止循環依賴的機制。

總的來說,應該在總體結構上避免模塊之間互相依賴,即:A依賴B,B就不要依賴A,這也是代碼重構的一個目標。

對于緊急情況,往往來不及對代碼大動。

只要找到導致循環引用的模塊(最少兩個),把引用關系搞清楚,把某個模塊讓它在真正需要的時候再導入(一般放到函數里面),或者放到代碼的最后導入,這樣就可以基本解決模塊循環依賴的問題。

一個小竅門:

查看循環引用的報錯棧時,會找到兩次導入同一個模塊的文件。注意在這個附近找。

總結:

在python開發過程中,應盡量避免導入循環(交叉引用),但是,如果你開發了大型的 Python 工程, 那么你很可能會陷入這樣的境地。

一些比較靠譜的方法是:

1. 把 import 語句放到方法定義的后面。

2. 將 import 語句移到函數的內部,只有在執行到這個模塊時,才會導入相關模塊。

以上這篇python導入模塊交叉引用的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女