国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - 詳解Python中的from..import絕對(duì)導(dǎo)入語(yǔ)句

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

2020-08-29 10:30樂(lè)天 Python

絕對(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è)包目錄,像下面這樣:

?
1
2
3
4
pkg/
pkg/__init__.py
pkg/main.py
pkg/string.py

上面定義了一個(gè)包稱為 pkg 包含 pkg.main 和pkg.string 兩個(gè)子模塊。考慮在‘main.py'中的代碼,什么事情會(huì)發(fā)生如果我們執(zhí)行語(yǔ)句 import string 在python2.4或者更早的版本?他將會(huì)查詢包的目錄執(zhí)行一個(gè)相對(duì)的import,找到pkg/string.py ,導(dǎo)入文件的內(nèi)容作為pkg.string模塊,這個(gè)模塊的邊界的名字是'string'在pkg.main模塊中的名稱空間。
如果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用戶可以馬上知道那是不同的名稱在基本庫(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ù)。建議用戶盡可能多的使用絕對(duì)導(dǎo)入,因此在你的代碼中使用from pkg improt string是適宜的。在python2.*版本中需要:

?
1
from __future__ import absolute_import

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

?
1
2
3
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):

?
1
2
3
4
5
6
7
8
9
10
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:

?
1
2
3
4
5
6
7
8
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就行了。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲激情一区 | 一区二区免费看 | 欧美日韩精品一区 | 成年片| 日韩欧美在线视频 | 亚洲精品久久久久久下一站 | 亚洲精品男人的天堂 | www.av在线播放 | 日韩欧美a级v片免费播放 | 国产黄色片一级 | 成人a在线视频免费观看 | 国产精品美女久久久久久久网站 | 亚洲视频精品一区 | 亚洲一区二区久久 | 欧美性hd | 国产真实精品久久二三区 | 一级片av | 日韩免费 | 欧美精品在线视频 | 激情欧美一区二区三区中文字幕 | 国产成人精品久久二区二区91 | 国产精品久久久 | 亚洲激情在线 | 亚洲国产高清美女在线观看 | 亚洲精品乱码久久久久久蜜桃麻豆 | 精品亚洲一区二区 | 精品国产子伦久久久久久小说 | 午夜精| 亚洲高清视频一区二区 | 久久精品小视频 | 亚洲国内精品 | 韩日一区二区 | 日韩视频―中文字幕 | 无码日韩精品一区二区免费 | 乱人伦xxxx国语对白 | 91久久精品国产91久久 | 国产精品美女久久久久久免费 | 在线观看日韩精品 | 国产精品99久久免费观看 | 国产久 | 偷拍做爰吃奶视频免费看 |