在python裡面,如果要匯入相關的函式或已經由第三方開發者開發的套件庫,可使用import
的方式匯入,而套件要如何安裝,則可使用conda或pip指令進行安裝
準備建立稍大型的專案的時候,學習如何組織化你的 Python 專案是一大要點。Python 提供的 module
(模組)與 package
(套件)是建立架構的基本元件,但在module
之間為了重複使用一些 function
(函數)或 class
(類別)而必須互相 import
(匯入),使用上一個不注意就會掉入混亂的 import 陷阱。
基本上每一個python的程式檔就是一個模組,而裡面可以定義各種函式、類別與變數,如果每一個模組都等同一個檔案的話,那套件就如同這個檔案庫的目錄。
package
)
module_1
)module_2
)
submodule_2-1
)submodule_2-2
)參考 PEP328提供的範例
package
├── __init__.py
├── subpackage1
│ ├── __init__.py
│ ├── moduleX.py
│ └── moduleY.py
├── subpackage2
│ ├── __init__.py
│ └── moduleZ.py
└── moduleA.py
如果要呼叫相關套件,則須透過下列形式進行呼叫。
匯入numpy套件
import numpy
利用 import
直接匯入模組名稱,但是這樣在引用的時候需要完整的寫出模組名稱來,有時候顯的不是很方便,故可以利用as
該模組名稱取一個別名。
如:
import numpy as np
而套件或許有很多子模組,有時候不一定需要會出所有的模組,因此可以透過from
來針對需要的部份匯入指定的子模組。
如:
from numpy import array as arr
當然,以numpy
為例我們一般來說不會只匯入array
,不過如果模組十分巨大,只會入特定模組可以降低程式的衝突及最後包裝完成執行檔後所佔用的空間喔。
一般來說再python直譯器直接執行
import sys
sys.path
所出現的位置,正式可以使用import
匯入的位置喔。
在class中,有提到可以將程式進行包裝,並且具備物件導向與繼承的能力,同樣的可以將打包程式利用import
進行匯入,並且用物件導向的方式進行操作與使用。