tft每日頭條

 > 生活

 > python中使用什麼語句來引用模塊

python中使用什麼語句來引用模塊

生活 更新时间:2024-11-26 15:26:04

python中使用什麼語句來引用模塊(python中各個模塊循環引用問題)1

當項目中的模塊過多,或功能劃分不夠清晰時會出現循環引用的問題,如下

有兩個模塊moduleA 和 moduleB:

python中使用什麼語句來引用模塊(python中各個模塊循環引用問題)2

這種情況下就會出現以下的錯誤 :

python中使用什麼語句來引用模塊(python中各個模塊循環引用問題)3

這就是循環引用導緻的

導入的實質

導入其實是要将 被導入模塊所有的頂格代碼都執行一遍,遇到函數和類的定義會作申明。 如果b模塊中有這麼一句

print ‘bbb’ 你在a模塊impot b時就會 執行 print 'bbb’這一句。

回到循環引用中,首先導入B,進入B中,發現B中又導入了A又回到A中,但是A又導入B這就形成了循環引用。

解法1:直接導入模塊名,通過模塊調用其中的函數

python中使用什麼語句來引用模塊(python中各個模塊循環引用問題)4

具體原因我也不太清楚。

解法2:使用延遲導入(lazy import) 在需要用的函數内部導入,或是在底部導入

python中使用什麼語句來引用模塊(python中各個模塊循環引用問題)5

解法3:重新設計代碼結構,将代碼合并或者分離

這個要看情況 而定了,将公共功能的代碼分離成單獨模塊,或者将一些具有關系的代碼合并成一個模塊。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved