python 模組與包

2021-10-05 12:32:21 字數 2230 閱讀 4519

命名空間:模組和當前檔案在不同的命名空間中

為模組起別名:import 《模組名》 as 《模組別名》

一行匯入多個模組:import os [as o], sys [as s]

匯入模組時的建議:先導入內建模組,再匯入第三方模組,最後匯入自定義模組

命名空間:重名情況下,當前命名空間會覆蓋模組引用

為模組起別名:from module import func1 as f1

一行匯入多個模組:from module import func1, func2

*__all__的關係

py檔案的__name__

模組的搜尋路徑:sys.path,修改這個列表可以更改模組的搜尋路徑

匯入包中的模組

匯入包

匯入乙個包的過程:

絕對匯入:

相對匯入:

例子見資料夾「包的匯入」

project---bin---__init__.py

| |---start.py

||---conf---__init__.py

||---core---__init__.py

| |---***.py

||---db---__init__.py

||---lib---__init__.py

||---***.py

# 檔案結構

dream:包的匯入 dream$ tree .

.├── package

│ ├── __init__.py

│ ├── __pycache__

│ │ ├── __init__.cpython-

36.pyc

│ │ ├── module1.cpython-

36.pyc

│ │ └── module2.cpython-

36.pyc

│ ├── module1.py

│ └── module2.py

└── test.py

2 directories,

7 files

# 測試**內容

dream:包的匯入 dream$ cat test.py

#!/anaconda3/bin/python3

import package

print

("this is test.py"

)package.module1.m1_func(

)package.module2.m2_func(

)# 包的__init__.py的內容

dream:包的匯入 dream$ cat .

/package/__init__.py

#!/anaconda3/bin/python3

print

("package is importing..."

)from

.import module1

from

.import module2

print

("package has been imported!"

)# 包的兩個模組的內容

dream:包的匯入 dream$ cat .

/package/module1.py

#!/anaconda3/bin/python3

defm1_func()

:print

("this is module1!"

)dream:包的匯入 dream$ cat .

/package/module2.py

#!/anaconda3/bin/python3

defm2_func()

:print

("this is module2!"

)# 執行結果(test.py)

dream:包的匯入 dream$ python test.py

package is importing...

package has been imported!

this is test.py

this is module1!

this is module2!

python模組與包

路徑修改 命令列怎麼檢視路徑,修改路徑 列印當前搜尋路徑 import sys sys.path sys.path import os os.getcwd os.chdir c www 模組實現構建模組的初衷就是將一些同類的東西進行打包,以免汙染全域性空間,在python的模組裡,對需要隱藏的屬性和...

python 模組與包

模組與包 1.什麼是模組 在 python 中,乙個.py檔案就稱之為乙個模組 module 模組的優點 大大提高了 的可維護性 編寫 不必從零開始。當乙個模組編寫完畢,就可以被其他地方引用 2.匯入模組的幾種方式 4.模組的分類 1 內建模組 os,sys,dnspython,socket,tim...

python包與模組

python模組 py檔案就是模組 1.在同乙個工作目錄 呼叫其他模組裡面的方法一 import module 呼叫 module.function 注意 此時import module時,在執行當前 時,會先執行被import的module裡的 import module as m1 別名,類似w...