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

詳解Python中的from..import絕對(duì)導(dǎo)入語(yǔ)句

 更新時(shí)間:2016年06月21日 18:42:28   作者:樂(lè)天  
絕對(duì)導(dǎo)入其實(shí)非常簡(jiǎn)單,即是用from語(yǔ)句在import前指明頂層package名,下面我們通過(guò)兩個(gè)例子來(lái)詳解Python中的from..import絕對(duì)導(dǎo)入語(yǔ)句

相對(duì)或者絕對(duì)import
更多的復(fù)雜部分已經(jīng)從python2.5以來(lái)實(shí)現(xiàn):導(dǎo)入一個(gè)模塊可以指定使用絕對(duì)或者包相對(duì)的導(dǎo)入。這個(gè)計(jì)劃將移動(dòng)到使絕對(duì)的導(dǎo)入成為默認(rèn)的細(xì)節(jié)在其他版本的python中。
我們假設(shè)你有一個(gè)包目錄,像下面這樣:

pkg/
pkg/__init__.py
pkg/main.py
pkg/string.py

上面定義了一個(gè)包稱(chēng)為 pkg 包含 pkg.main 和pkg.string 兩個(gè)子模塊??紤]在‘main.py'中的代碼,什么事情會(huì)發(fā)生如果我們執(zhí)行語(yǔ)句 import string 在python2.4或者更早的版本?他將會(huì)查詢(xún)包的目錄執(zhí)行一個(gè)相對(duì)的import,找到pkg/string.py ,導(dǎo)入文件的內(nèi)容作為pkg.string模塊,這個(gè)模塊的邊界的名字是'string'在pkg.main模塊中的名稱(chēng)空間。
如果pkg.string是你想要的這個(gè)非常不錯(cuò)。但是如果你僅僅想要的是python的基本的string模塊?
沒(méi)有清楚的方法忽略pkg.string以及尋找基本的模塊;一般情況下你不得不去查看sys.modules中的內(nèi)容,那有一點(diǎn)稍微的不清楚。Holger Krekel的py.std包提供了一個(gè)整齊的方法執(zhí)行從基本庫(kù)中導(dǎo)入的方法,improt py;py.std.string.jion(),但是那個(gè)包在python的安裝過(guò)程是是不可用的。

閱讀代碼在相對(duì)導(dǎo)入方面也是不夠清晰的,因?yàn)樽x者可能混淆string和pkg.string模塊使用。Python用戶(hù)可以馬上知道那是不同的名稱(chēng)在基本庫(kù)和自己的包模塊之間,但是你不能保護(hù)你自己的子模塊名字在一個(gè)新版本的python中。

從python2.5,你可以打開(kāi) import的行為直接去絕對(duì)導(dǎo)入使用一個(gè) from __future__ import absolute_import 。這個(gè)絕對(duì)導(dǎo)入行為將成為一個(gè)默認(rèn)的細(xì)節(jié)在將來(lái)的python中。一旦絕對(duì)導(dǎo)入被默認(rèn),import string 將總是尋找基本庫(kù)。建議用戶(hù)盡可能多的使用絕對(duì)導(dǎo)入,因此在你的代碼中使用from pkg improt string是適宜的。在python2.*版本中需要:

from __future__ import absolute_import

示例1:
例如:在模塊A.B.C中的代碼:

from . import D     # 導(dǎo)入A.B.D
from .. import E    # 導(dǎo)入A.E
from ..F import G    # 導(dǎo)入A.F.G,.. 和 F是連著的,中間沒(méi)有空格

.代表當(dāng)前目錄,..代表上一層目錄,...代表上上層目錄。

示例2:

目錄結(jié)構(gòu):

package/
 __init__.py
 subpackage1/
  __init__.py
  moduleX.py
  moduleY.py
 subpackage2/
  __init__.py
  moduleZ.py
 moduleA.py

在subpackage1/moduleX.py 或者 subpackage1/__init__.py中可以這樣導(dǎo)入module:

from .moduleY import spam
from .moduleY import spam as ham
from . import moduleY
from ..subpackage1 import moduleY
from ..subpackage2.moduleZ import eggs
from ..moduleA import foo
from ...package import bar
from ...sys import path

注意,from ...sys import path是合法的,但是不建議。直接from sys import path就行了。

相關(guān)文章

  • python drf各類(lèi)組件的用法和作用

    python drf各類(lèi)組件的用法和作用

    這篇文章主要介紹了python drf各類(lèi)組件的用法和作用,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2021-01-01
  • 詳解Django框架中的視圖級(jí)緩存

    詳解Django框架中的視圖級(jí)緩存

    這篇文章主要介紹了詳解Django框架中的視圖級(jí)緩存,Django是最具人氣的Python web開(kāi)發(fā)框架,需要的朋友可以參考下
    2015-07-07
  • Python入門(mén)之模塊與包

    Python入門(mén)之模塊與包

    這篇文章主要為大家介紹了Python的模塊與包,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • Python提取PDF內(nèi)容的方法(文本、圖像、線(xiàn)條等)

    Python提取PDF內(nèi)容的方法(文本、圖像、線(xiàn)條等)

    這篇文章主要介紹了Python提取PDF內(nèi)容的方法(文本、圖像、線(xiàn)條等),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • pandas進(jìn)行數(shù)據(jù)的交集與并集方式的數(shù)據(jù)合并方法

    pandas進(jìn)行數(shù)據(jù)的交集與并集方式的數(shù)據(jù)合并方法

    今天小編就為大家分享一篇pandas進(jìn)行數(shù)據(jù)的交集與并集方式的數(shù)據(jù)合并方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 詳解sklearn?Preprocessing?數(shù)據(jù)預(yù)處理功能

    詳解sklearn?Preprocessing?數(shù)據(jù)預(yù)處理功能

    這篇文章主要介紹了sklearn?Preprocessing?數(shù)據(jù)預(yù)處理功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Python 調(diào)用C++封裝的進(jìn)一步探索交流

    Python 調(diào)用C++封裝的進(jìn)一步探索交流

    這篇文章主要介紹了Python 調(diào)用C++封裝的進(jìn)一步探索交流,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • Python學(xué)習(xí)筆記之視頻人臉檢測(cè)識(shí)別實(shí)例教程

    Python學(xué)習(xí)筆記之視頻人臉檢測(cè)識(shí)別實(shí)例教程

    這篇文章主要給大家介紹了關(guān)于Python學(xué)習(xí)筆記之視頻人臉檢測(cè)識(shí)別的相關(guān)資料,文中通過(guò)示例代碼以及圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 用Python實(shí)現(xiàn)QQ游戲大家來(lái)找茬輔助工具

    用Python實(shí)現(xiàn)QQ游戲大家來(lái)找茬輔助工具

    這是一個(gè)用于QQ大家來(lái)找茬(美女找茬)的輔助外掛,開(kāi)發(fā)的原因是看到老爸天天在玩這個(gè)游戲,分?jǐn)?shù)是慘不忍睹的負(fù)4000多。本來(lái)是想寫(xiě)個(gè)很簡(jiǎn)單的東西,但由于過(guò)程中老爸的多次嘲諷,逼得我不得不盡力完善,最后形成了一個(gè)小小的產(chǎn)品。
    2014-09-09
  • Python subprocess庫(kù)的使用詳解

    Python subprocess庫(kù)的使用詳解

    這篇文章主要介紹了Python subprocess庫(kù)的使用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10

最新評(píng)論