用 Claude Code 寫 Python(Claude Code with Python)
Python 教學系列的完結篇,我們把 43 篇的知識接上 AI 時代的工作方式:用 Claude Code——在終端機裡運作的 AI 編程助手——實際開發一個 Python 小工具。你可能會問:AI 都能寫了,前面 43 篇是學心酸的?恰恰相反,看得懂程式碼的人,才有能力審查、修正、駕馭 AI 的產出,這篇會具體示範這件事。
Claude Code 的安裝與完整功能本站有專門的教學系列,本篇聚焦「拿它來做 Python 開發」的工作流。
實戰任務:成績單 CSV 分析工具
用一個具體任務示範:寫一個程式,讀取成績 CSV、計算每人平均、輸出排名報表。在專案資料夾啟動 Claude Code 後,下這樣的指令:
請建立 report.py:讀取 scores.csv(欄位:name, subject, score),
計算每位學生的平均分數,依平均由高到低輸出排名。
使用 Python 3.14,檔案編碼 utf-8,不使用第三方套件。
Claude Code 會建立檔案、寫好程式,內容大致如下:
import csv
from collections import defaultdict
def load_scores(path):
scores = defaultdict(list)
with open(path, "r", encoding="utf-8") as f:
for row in csv.DictReader(f):
scores[row["name"]].append(int(row["score"]))
return scores
def main():
scores = load_scores("scores.csv")
ranking = sorted(
((name, sum(s) / len(s)) for name, s in scores.items()),
key=lambda x: x[1],
reverse=True,
)
for i, (name, avg) in enumerate(ranking, start=1):
print(f"第 {i} 名:{name}(平均 {avg:.1f})")
if __name__ == "__main__":
main()
執行輸出(依 scores.csv 內容而異):
第 1 名:小華(平均 91.5)
第 2 名:小明(平均 85.0)
第 3 名:小美(平均 78.5)
重點:你學過的知識如何發揮
看懂這段 AI 產出的程式,需要的全是本系列教過的東西:
| 程式片段 | 對應文章 |
|---|---|
csv.DictReader、encoding="utf-8" | 第 33、32 篇 |
defaultdict(list)(dict 包 list 的進化版) | 第 14、18 篇 |
sorted(..., key=lambda x: x[1], reverse=True) | 第 22 篇 |
generator 運算式 (... for ...) | 第 36 篇 |
if __name__ == "__main__": | 第 23 篇 |
審查清單——AI 產出後,至少檢查這四件事:
- 編碼有沒有指定(AI 有時會省略
encoding,Windows 上就中獎,見第 32 篇) - 錯誤處理:檔案不存在、分數欄位不是數字時會怎樣?請它補上 try except(第 25 篇)
- 實際執行:跑一次、給它邊界案例(空檔案、只有一個學生)
- 看不懂的寫法直接問:「defaultdict 是什麼?為什麼用它?」——Claude Code 會解釋,這是最高效的學習方式
迭代修正的對話流
第一版很少是完成品,後續用自然語言迭代:
1. 「scores.csv 不存在時顯示友善訊息而不是 Traceback」
2. 「平均分數相同時並列名次」
3. 「加上 type hints 並通過 mypy 檢查」
4. 「幫 load_scores 寫 pytest 單元測試」
每一輪你都用學過的知識驗收。這個「描述 → 產出 → 審查 → 迭代」的循環,就是 AI 時代 Python 開發的日常——AI 負責打字,你負責思考與把關。
給接下來的路
Python 教學系列 44 篇到此完結。依你的方向,下一步可以是:
| 方向 | 建議 |
|---|---|
| 資料庫應用 | 本站 SQL 教學系列 搭配第 37~39 篇實作 |
| AI 應用開發 | 第 42、43 篇的 API 基礎上,研究 function calling 與 RAG |
| AI 輔助開發 | 本站 Claude Code 教學系列,從基礎到 CI/CD 自動化 |
| 網站後端 | 以本系列為基礎學 FastAPI 或 Django |
總結
AI 不會取代懂程式的人,但會放大他們的產出。你現在兩者都有了:43 篇打下的 Python 基礎,加上驅動 AI 的工作流。整個系列的目錄在 Python 教學,忘記語法隨時回來查——這個系列就是為此而寫的。