命名空間:模組和當前檔案在不同的命名空間中
為模組起別名: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...