国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

import

Eminjannn / 2945人閱讀

摘要:有絕對路徑引入和相對路徑引入兩種方法。絕對路徑對于相對路徑來說優(yōu)勢為相對路徑取決于當(dāng)前的包,所以在哪里執(zhí)行就會有不一樣的難以預(yù)料的后果。相對引用的符號對應(yīng)的就是的值。如果在函數(shù)中執(zhí)行這個就是而不是上級包名。此時用就能解決。

Import

下面是包的結(jié)構(gòu)

package
├── __init__.py
├── subpackage1
│   ├── __init__.py
│   ├── moduleX.py
│   └── moduleY.py
├── subpackage2
│   ├── __init__.py
│   └── moduleZ.py
└── moduleA.py

我們現(xiàn)在在moduleX.py中。

有絕對路徑引入和相對路徑引入兩種方法。相對路徑對于絕對路徑來說優(yōu)勢為: 當(dāng)調(diào)整模塊和包的時候如果是絕對路徑那么需要一個個挨著改。絕對路徑對于相對路徑來說優(yōu)勢為:相對路徑取決于當(dāng)前的包,所以在哪里執(zhí)行就會有不一樣的難以預(yù)料的后果(from . import module error: main is not a package。相對引用的" . "符號對應(yīng)的就是__name__的值。如果在main函數(shù)中執(zhí)行這個" . "就是__main__而不是上級包名。此時用from baoming import module就能解決)。 下面來導(dǎo)入一些包:[A]表示絕對路徑 | [B]表示相對路徑。

導(dǎo)入同一個子包下的 moduleY

[A] from package.subpackage1 import moduleY

[B] from . import moduleY

導(dǎo)入同一個子包下的 moduleY.py中的spam函數(shù)

[A] from package.subpackage1.moduleY import spam

[B] from .moduleY import spam

從兄弟子包下的moduleZ中導(dǎo)入func函數(shù)

[A] from package.subpackage2.moduleZ import func

[B] from ..moduleZ import func

導(dǎo)入父包下的moduleA

[A] from package import moduleA

[B] from .. import moduleA 或from ...package import moduleA

引用中有一個最常見的錯誤就是:循環(huán)引用

A.py

from .B import B_greet_back
def A_say_hello():
    print("A says hello!")
    B_greet_back()
def A_greet_back():
    print("A says hello back!")
if __name__ == "__main__":
    A_say_hello()

B.py

from .A import A_greet_back
def B_say_hello():
    print("B says hello!")
    A_greet_back()
def B_greet_back():
    print("B says hello back!")
if __name__ == "__main__":
    B_say_hello()

此時會有引用錯誤:ImportError: cannot import name "A_greet_back"

[解決辦法]

1.可以引用整個包而不是指定引用包里的函數(shù)

更改 b.py from .A import A_greet_back 為 from . import A

2.延遲引用

B.py

def B_say_hello():
    from .A import A_greet_back
    print("B says hello!")
    A_greet_back()
def B_greet_back():
    print("B says hello back!")
if __name__ == "__main__":
    B_say_hello()

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/43996.html

相關(guān)文章

  • UCloud私有云雙活數(shù)據(jù)中心解決方案,強效保障業(yè)務(wù)可靠性和連續(xù)性

    引言據(jù)信通院《2022云計算白皮書》報告,國內(nèi)云計算市場達3000億規(guī)模,云計算成為企業(yè)數(shù)字化轉(zhuǎn)型的基礎(chǔ)設(shè)施已是大勢所趨。隨著企業(yè)數(shù)字化轉(zhuǎn)型的逐步深入,業(yè)務(wù)發(fā)展與IT基礎(chǔ)架構(gòu)演進密不可分,如何保障數(shù)據(jù)隱私安全和業(yè)務(wù)連續(xù)性,是 IT 建設(shè)中必須關(guān)注的問題。出于數(shù)據(jù)隱私和安全性考量,私有云解決方案成為構(gòu)建數(shù)字化轉(zhuǎn)型的基礎(chǔ)底座,通過同城雙活及兩地三中心的高可用架構(gòu)保障生產(chǎn)環(huán)境穩(wěn)定性和業(yè)務(wù)過程連續(xù)性;同時...

    社區(qū)管理員 評論0 收藏0
  • 了解CSS中的@import

    摘要:坑爹呢,看了一大堆,結(jié)果告訴我不要使用這也只是個建議,因為的確會帶來一些問題,所以網(wǎng)絡(luò)上會有各種抵制的文章,既然設(shè)計了,總有它的有用之處,不能過于絕對。 我們知道,css文件引入方式有兩種: 1. HTML中使用link標(biāo)簽 CSS中@import @import style.css; 第一種方式最為常見最為主流,第二種方式則很少見到有人這么寫,因而也常被開發(fā)工程師所...

    luxixing 評論0 收藏0
  • 了解CSS中的@import

    摘要:坑爹呢,看了一大堆,結(jié)果告訴我不要使用這也只是個建議,因為的確會帶來一些問題,所以網(wǎng)絡(luò)上會有各種抵制的文章,既然設(shè)計了,總有它的有用之處,不能過于絕對。 我們知道,css文件引入方式有兩種: 1. HTML中使用link標(biāo)簽 CSS中@import @import style.css; 第一種方式最為常見最為主流,第二種方式則很少見到有人這么寫,因而也常被開發(fā)工程師所...

    FrancisSoung 評論0 收藏0
  • UCloud私有云雙活數(shù)據(jù)中心解決方案,強效保障業(yè)務(wù)可靠性和連續(xù)性

    引言據(jù)信通院《2022云計算白皮書》報告,國內(nèi)云計算市場達3000億規(guī)模,云計算成為企業(yè)數(shù)字化轉(zhuǎn)型的基礎(chǔ)設(shè)施已是大勢所趨。隨著企業(yè)數(shù)字化轉(zhuǎn)型的逐步深入,業(yè)務(wù)發(fā)展與IT基礎(chǔ)架構(gòu)演進密不可分,如何保障數(shù)據(jù)隱私安全和業(yè)務(wù)連續(xù)性,是 IT 建設(shè)中必須關(guān)注的問題。出于數(shù)據(jù)隱私和安全性考量,私有云解決方案成為構(gòu)建數(shù)字化轉(zhuǎn)型的基礎(chǔ)底座,通過同城雙活及兩地三中心的高可用架構(gòu)保障生產(chǎn)環(huán)境穩(wěn)定性和業(yè)務(wù)過程連續(xù)性;同時...

    社區(qū)管理員 評論0 收藏0
  • Hystrix命令入門使用

    摘要:主要介紹各接口和注解的使用方法。創(chuàng)建請求命令命令就是我們之前所說的,他用來封裝具體的依賴服務(wù)調(diào)用邏輯。通過調(diào)用和可以返回對象,如下前者返回的是一個,該命令會在調(diào)用的時候立即執(zhí)行,當(dāng)每次被訂閱的時候都會重放它的行為。表示使用執(zhí)行方式。 主要介紹Hystrix各接口和注解的使用方法。 創(chuàng)建請求命令 Hystrix命令就是我們之前所說的HystrixCommand,他用來封裝具體的依賴服務(wù)調(diào)...

    Maxiye 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<