Python 模組與套件(Modules & Packages)入門 | Python
隨著程式碼規模成長,將所有程式碼放在同一個檔案中會變得難以管理。Python 的 模組(Modules) 與 套件(Packages) 系統讓你能將程式碼分割成獨立的檔案,提升可讀性與可重用性。
什麼是模組?
在 Python 中,每一個 .py 檔案就是一個模組(Module)。模組可以包含函式、類別和變數。Python 內建了許多實用的標準庫模組:
import math
print(math.pi) # 輸出:3.141592653589793
print(math.sqrt(16)) # 輸出:4.0
import 的各種語法
Python 提供了多種匯入方式:
# 匯入整個模組
import math
print(math.ceil(4.3)) # 輸出:5
# 從模組中匯入特定函式
from math import sqrt, pi
print(sqrt(25)) # 輸出:5.0
# 使用別名(alias)
import math as m
print(m.floor(4.7)) # 輸出:4
from math import sqrt as square_root
print(square_root(9)) # 輸出:3.0
建議避免使用 from math import *,因為這會將所有名稱匯入當前命名空間(Namespace),容易造成名稱衝突。
建立自己的模組
建立模組非常簡單,只需要寫一個 .py 檔案:
# myutils.py — 自訂模組
def greet(name):
return f"你好,{name}!"
def add(a, b):
return a + b
# main.py — 使用自訂模組
import myutils
print(myutils.greet("Alice")) # 輸出:你好,Alice!
print(myutils.add(3, 5)) # 輸出:8
__name__ 變數的用途
每個模組都有 __name__ 變數。直接執行時值為 "__main__",被匯入時則是模組名稱:
# myutils.py
def greet(name):
return f"你好,{name}!"
if __name__ == "__main__":
# 只在直接執行此檔案時才執行
print(greet("測試")) # 輸出:你好,測試!
這個模式讓你的模組既可以被匯入使用,也可以獨立執行測試。
套件(Packages)
套件(Package)是一個包含 __init__.py 檔案的目錄,用來組織多個相關模組:
mypackage/
├── __init__.py # 套件初始化檔案
├── math_utils.py
└── string_utils.py
from mypackage import math_utils
from mypackage.string_utils import capitalize_words
使用 pip 安裝第三方套件
pip(Package Installer for Python)可以安裝第三方套件:
pip install requests # 安裝套件
pip install requests==2.31.0 # 安裝指定版本
pip list # 查看已安裝的套件
pip uninstall requests # 解除安裝
import requests
response = requests.get("https://api.github.com")
print(response.status_code) # 輸出:200
常用標準庫模組
| 模組 | 用途 |
|---|---|
os | 作業系統互動 |
json | JSON 資料處理 |
datetime | 日期與時間處理 |
random | 亂數生成 |
pathlib | 現代化路徑操作 |
總結
模組與套件是 Python 程式碼組織的基石。了解 import 語法、善用 if __name__ == "__main__" 模式、以及使用 pip 管理第三方套件,將大幅提升你的開發效率。希望這篇文章能幫助你掌握模組系統的核心觀念。
如果你想複習函式的基礎知識,請參考 Python 函數(Functions)入門指南。
關於檔案操作的詳細用法,請閱讀 Python 檔案讀寫(File I/O)完整教學。