巢狀python Python中包如何巢狀

2021-10-11 12:43:26 字數 985 閱讀 6123

_ _init_ _.py檔案

_ _init_ _.py控制著包匯入行為。

_ _init_ _.py為空,意味著僅僅把這個包匯入,不會匯入包中的模組。

在_ _init_ _.py檔案中,定義乙個_ _all_ _變數,它控制著from包名import*是匯入的模組。

可以在_ _init_ _.py檔案中編寫內容,當匯入時,這些語句就會被執行。

__init__.py模組__all__ = ["send","receive"]

print("你匯入的msg包")

def test():

print("這裡是msg包裡面的test")

demo.py模組

import msg

msg.test()

執行結果為:你匯入的msg包

這裡是msg包裡面的test

巢狀的包

假定我們的包的例子有如下的目錄結構:a/#包a

__init__.py

a1.py

sub_b/#包b

__init__.py

b1.py

b2.py

sub_c/#包c

__init__.py

c1.py

c2.py

sub_d/#包d

__init__.py

d1.py

d2.py

a是最頂層的包,sub_b等是它的子包,我們可以這樣匯入子包:import a.sub_b.b1

你也可使用 from-import 實現不同需求的匯入。

第一種方法是只匯入頂層的子包,然後使用屬性點操作符向下引用子包樹:from a import sub_b

sub_b.b2

事實上,你可以一直沿子包的樹狀結構匯入。

在我們上邊的目錄結構中,我們可以發現很多的 __init__.py 檔案。這些是初始化模組,from-import 語句匯入子包時需要用到它。 如果沒有用到,他們可以是空檔案。

python python中的遍歷

遍歷list集合 infp 1,2,3,3,3 for m in infp print m 值得注意的是,m在此處的值是infp中的想對應的值,當我們通過del infp m 或者 infp.remove m 如下 infp 1,2,3,3,3 for m in infp if m is 3 pri...

python python中的urllib模組

import urllib.request response urllib.request.urlopen html response.read decode utf 8 print html 指定請求頭的方式 import urllib.request url headers request ur...

Python Python中的程序

python提供了多個模組用於建立程序。比如os.fork 適用於linux unix mac 和multiprocessing模組和pool程序池。multiprocessing模組提供了乙個process類來代表乙個程序物件,語法如下 使用的為可選引數 引數說明 group 引數未使用,值始終未...