欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python導(dǎo)入模塊交叉引用的方法

 更新時(shí)間:2019年01月19日 14:58:51   作者:qq_34146899  
今天小編就為大家分享一篇python導(dǎo)入模塊交叉引用的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

實(shí)際項(xiàng)目中遇到python模塊相互引用問(wèn)題,查資料,終于算是弄明白了。

首先交叉引用或是相互引用,實(shí)際上就是導(dǎo)入循環(huán),關(guān)于導(dǎo)入循環(huán)的詳細(xì)說(shuō)明,可見(jiàn)我摘自《python核心編程》第二版的摘抄:Python導(dǎo)入循環(huán)方法。

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

循環(huán)引用在python圈關(guān)注的并不多,語(yǔ)言上沒(méi)有提供防止循環(huán)依賴的機(jī)制。

總的來(lái)說(shuō),應(yīng)該在總體結(jié)構(gòu)上避免模塊之間互相依賴,即:A依賴B,B就不要依賴A,這也是代碼重構(gòu)的一個(gè)目標(biāo)。

對(duì)于緊急情況,往往來(lái)不及對(duì)代碼大動(dòng)。

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

一個(gè)小竅門(mén):

查看循環(huán)引用的報(bào)錯(cuò)棧時(shí),會(huì)找到兩次導(dǎo)入同一個(gè)模塊的文件。注意在這個(gè)附近找。

總結(jié):

在python開(kāi)發(fā)過(guò)程中,應(yīng)盡量避免導(dǎo)入循環(huán)(交叉引用),但是,如果你開(kāi)發(fā)了大型的 Python 工程, 那么你很可能會(huì)陷入這樣的境地。

一些比較靠譜的方法是:

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

2. 將 import 語(yǔ)句移到函數(shù)的內(nèi)部,只有在執(zhí)行到這個(gè)模塊時(shí),才會(huì)導(dǎo)入相關(guān)模塊。

以上這篇python導(dǎo)入模塊交叉引用的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python+Pygame實(shí)戰(zhàn)之24點(diǎn)游戲的實(shí)現(xiàn)

    Python+Pygame實(shí)戰(zhàn)之24點(diǎn)游戲的實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了如何利用Python和Pygame實(shí)現(xiàn)24點(diǎn)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Python實(shí)現(xiàn)以主程序的形式執(zhí)行模塊

    Python實(shí)現(xiàn)以主程序的形式執(zhí)行模塊

    這篇文章主要介紹了Python實(shí)現(xiàn)以主程序的形式執(zhí)行模塊,首先創(chuàng)建一個(gè)以christmastree的命名的模塊并定義一個(gè)全局變量創(chuàng)建一個(gè)名稱為fun_christmastree()的函數(shù)展開(kāi)詳情,感興趣的朋友可以參考一下
    2022-06-06
  • Python?print函數(shù):如何將對(duì)象打印輸出

    Python?print函數(shù):如何將對(duì)象打印輸出

    這篇文章主要介紹了Python?print函數(shù):如何將對(duì)象打印輸出,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python中如何導(dǎo)入類示例詳解

    Python中如何導(dǎo)入類示例詳解

    這篇文章主要給大家介紹了關(guān)于Python中如何導(dǎo)入類的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Python寫(xiě)捕魚(yú)達(dá)人的游戲?qū)崿F(xiàn)

    Python寫(xiě)捕魚(yú)達(dá)人的游戲?qū)崿F(xiàn)

    這篇文章主要介紹了Python寫(xiě)捕魚(yú)達(dá)人的游戲?qū)崿F(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Python+Flask實(shí)現(xiàn)自定義分頁(yè)的示例代碼

    Python+Flask實(shí)現(xiàn)自定義分頁(yè)的示例代碼

    分頁(yè)操作在web開(kāi)發(fā)中幾乎是必不可少的,而flask不像django自帶封裝好的分頁(yè)操作。所以本文將自定義實(shí)現(xiàn)分頁(yè)效果,需要的可以參考一下
    2022-09-09
  • Python+Selenium自動(dòng)化實(shí)現(xiàn)分頁(yè)(pagination)處理

    Python+Selenium自動(dòng)化實(shí)現(xiàn)分頁(yè)(pagination)處理

    這篇文章主要為大家詳細(xì)介紹了Python+Selenium自動(dòng)化實(shí)現(xiàn)分頁(yè)pagination處理的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • pandas刪除部分?jǐn)?shù)據(jù)后重新生成索引的實(shí)現(xiàn)

    pandas刪除部分?jǐn)?shù)據(jù)后重新生成索引的實(shí)現(xiàn)

    這篇文章主要介紹了pandas刪除部分?jǐn)?shù)據(jù)后重新生成索引的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python判斷操作系統(tǒng)類型代碼分享

    Python判斷操作系統(tǒng)類型代碼分享

    這篇文章主要介紹了Python判斷操作系統(tǒng)類型代碼分享,編寫(xiě)一些跨平臺(tái)程序時(shí)經(jīng)常要用到,需要的朋友可以參考下
    2014-11-11
  • Python多進(jìn)程與多線程的使用場(chǎng)景詳解

    Python多進(jìn)程與多線程的使用場(chǎng)景詳解

    這篇文章主要給大家介紹了關(guān)于Python多進(jìn)程與多線程使用場(chǎng)景的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評(píng)論