在 Python 的世界中,模組(Module)是讓程式碼高效、重用與維護的關鍵工具。
本篇文章將帶你從模組的基礎概念出發,逐步了解常用標準庫與第三方套件的應用,並分享最佳實踐,幫助你寫出更專業的程式。
什麼是 Python 模組?
模組是一個包含 Python 定義和陳述式的檔案,旨在被廣泛用作工具。模組通常也被稱為「程式庫」或「套件」—套件實際上是包含多個模組的目錄。
使用模組的主要目的是:
- 提高程式碼的可重用性
- 避免重複造輪子
- 使用專家開發的工具
- 讓專案更易於維護
導入模組的基本語法
# 導入模組中的特定物件
from 模組名稱 import 物件名稱
# 導入整個模組
import 模組名稱
# 導入並重命名模組(別名)
import 模組名稱 as 別名
通常建議只導入您需要的部分,以避免不必要的程式碼或潛在的名稱衝突。
選擇正確的導入方式取決於您的具體需求和程式的上下文。每種方法都有其適用場景。
datetime 模組:處理日期和時間
datetime 是 Python 標準庫中的一個常用模組,用於處理日期和時間。
常用功能
- 獲取當前日期和時間
- 格式化日期顯示
- 日期計算和比較
- 時區處理
# 導入 datetime 類別
from datetime import datetime
# 獲取當前日期和時間
now = datetime.now
()
print(now) # 2023-11-22 15:30:45.123456
# 格式化日期
formatted_date = now.strftime("%Y年%m月%d日")
print(formatted_date) # 2023年11月22日
datetime 模組包含多個類別,例如 date、time、datetime 和 timedelta,各自處理不同的時間相關功能。
random 模組:產生隨機數據
random 模組提供了生成隨機數字或從序列中隨機選擇項目的功能。這在遊戲開發、數據模擬和測試中非常有用。
random.randint(a, b)
生成 a 和 b 之間的隨機整數(包括 a 和 b)
random.choice(序列)
從序列中隨機選擇一個元素
random.sample(序列, k)
從序列中隨機選擇 k 個不重複的元素
random.shuffle(序列)
隨機打亂序列中元素的順序

模組命名空間 (Namespace)

命名空間是一個容器,它保存了一組標識符(變數名、函數名、類別名等),確保這些名稱在特定範圍內是唯一的。
Python 中的命名空間類型:
- 內建命名空間:包含 Python 的內建函數和例外
- 全域命名空間:在模組層級定義的名稱
- 區域命名空間:在函數內部定義的名稱
當我們導入模組時,Python 會為該模組創建一個獨立的命名空間,避免與本地程式碼發生衝突。這就是為什麼我們使用 random.randint()
而非直接使用 randint()
。
檔案與範圍 (Scope)
在 Python 中,範圍 (scope) 不僅適用於函數和類別,也適用於檔案。即使是在同一目錄中的檔案,也無法直接存取彼此的變數、函數或類別。
檔案間共享程式碼的方式:
在 Python 中,檔案本身就是模組。要在不同檔案間共享程式碼,我們可以使用導入語句:
# 在 sandwiches.py
中定義
sandwiches = ["火腿三明治", "蔬菜三明治", "雞肉三明治"]
# 在 hungry_people.py
中導入
from sandwiches import sandwiches
for sandwich in sandwiches:
print(f"我想要吃 {sandwich}!")
安裝第三方模組
使用 pip 安裝
# 安裝單一套件
pip install package_name
# 安裝特定版本
pip install package_name==1.0.4
# 從 requirements.txt 安裝
pip install -r requirements.txt
pip 是 Python 的官方套件管理器,隨 Python 一起安裝。
使用 conda 安裝(適用於 Anaconda)
# 安裝套件
conda install package_name
# 從特定頻道安裝
conda install -c conda-forge package_name
# 創建環境並安裝套件
conda create -n myenv package_name
conda 同時管理套件和環境,特別適合數據科學工作。
第三方模組大大擴展了 Python 的功能,從網頁開發到數據分析、從機器學習到遊戲開發,都有專門的模組。

總結
Python 模組不只是語法上的工具,它代表了一種程式設計的思維方式:善用現有資源、保持程式碼清晰、專注於解決核心問題。
從標準庫到第三方套件,Python 的模組生態系統已經足以涵蓋大多數應用場景。無論你是初學者還是專業開發者,只要能夠掌握模組的使用方法,就能快速提升開發效率,並寫出更穩健、可維護的程式。