Python 模組(10):強化程式能力的關鍵工具

在 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(序列)

隨機打亂序列中元素的順序

Dice and cards showing randomness concept, digital illustration with python logo subtle in background

模組命名空間 (Namespace)

Organized labeled shelves representing Python namespaces, clean minimalist illustration

命名空間是一個容器,它保存了一組標識符(變數名、函數名、類別名等),確保這些名稱在特定範圍內是唯一的。

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 package installation diagram showing pip and conda workflow, technical illustration

總結

Python 模組不只是語法上的工具,它代表了一種程式設計的思維方式:善用現有資源、保持程式碼清晰、專注於解決核心問題

從標準庫到第三方套件,Python 的模組生態系統已經足以涵蓋大多數應用場景。無論你是初學者還是專業開發者,只要能夠掌握模組的使用方法,就能快速提升開發效率,並寫出更穩健、可維護的程式。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端