模組 ( Module )

Module 是一個 Python File 檔案裡的 Function。

套件 ( Package )

套件是存放了數個 Python File 的資料夾,也可以視為一群 Module 的集合,使用特別的方法將數個 Module 封裝起來。

匯入套件

製作套件

一般在建立專案時,可能會在同一個檔案進行測試並開發,當專案越寫越大,時間一久可能就忘記當初開發時的一些想法。此時,將專案明確的分門別類就很重要,能幫助自己理解專案內容,把類似的功能打包進同一個檔案中,避免要找某行程式時滑了幾千行程式還沒找到。

以下舉一個例子,檔案架構如下:

.
├── my_package1  # 套件的資料夾
│   ├── __init__.py  # 該套件的初始化檔案
│   ├── file1.py  # 套件內的檔案 1
│   ├── file2.py
│   └── file3.py
├── my_package2
│   ├── __init__.py
│   └── file1.py
└── main.py  # 為程式進入點,主要的程式控制在此檔案。

main.py 要匯入 my_package1 套件則可以直接匯入套件名稱,此時匯入的會是 __init__.py 內的程式碼。而如果要匯入套件中特定的檔案如 file1.py,則加上 .file1

import my_package1
import my_package1.file1
from my_package1.file2 import *

Python 在匯入套件分為 Absolute importRelative import,上述的方法都是 absolute import。

Absolute import

# ex: main.py, my_package1/__init__.py, my_package1/file1.py ...
from my_package2.file1 import *