~/VibeHandbook
免費 PDF

程式語言

python.org

Python

是什麼

想像有人遞給你一個箱子,卻不告訴你裡面裝了什麼;你只有開啟才知道。Python 處理資料就是這樣——它不要求你預先宣告變數裡放的是什麼,而是在程式執行時才判斷它裝的是哪種值。這就是"動態型別"的意思。Python 是一門高階的動態型別語言,以可讀性和龐大的生態系統著稱。它隨處可執行,讀起來幾乎像虛擬碼,是資料科學、機器學習、指令碼編寫和後端服務領域預設的通用語言。

優勢

  • 平緩的學習曲線和出了名的可讀語法。
  • 巨大的庫生態(PyPI,Python 的軟體包庫)——numpy、pandas、requests、FastAPI,以及幾乎所有 AI/ML 框架。
  • 非常適合膠水程式碼、自動化、原型開發和資料工作。
  • 強大的 REPL(邊輸入邊看結果的互動式提示符)和 notebook 文化,便於互動式探索。

取捨

  • 在純 CPU 密集型工作上較慢;GIL(一把每次只允許一個執行緒的鎖)限制了真正的多執行緒。
  • 想像一張沒人核對的表格上的筆誤,直到真正提交時才被發現。Python 也類似:它通常只有在那行程式碼真正執行時,才會注意到型別錯誤(例如把數字當成文本來用),而不是事先發現。也就是說,它在執行時才捕獲這些錯誤,除非你加上型別提示並配合 mypy 或 pyright 這類檢查器。
  • 依賴與環境管理(pip、venv、poetry、uv)是反覆出現的摩擦來源。
  • 打包並交付一個獨立的二進位制檔案比較彆扭。

何時使用

當你想要快速推進時就選 Python:資料管道、ML 模型訓練與推理、自動化指令碼、內部工具,以及開發速度比純執行速度更重要的 Web (應用程式介面)。對於任何與 AI 或資料相關的工作,它都是最穩妥的預設選擇。

與 vibe coding 的契合度

AI 助手在 Python 上表現極為出色——它是其訓練資料中佔比最高的語言,因此生成的程式碼通常地道且可執行。要想很好地指揮 AI,請指明你想要的確切庫和版本(例如"使用 FastAPI 和 Pydantic v2"),要求加上型別提示,讓你和模型都有據可依,並在一開始就索取一份 requirements.txtpyproject.toml 以避免版本漂移。讓助手新增一個小測試或一個可執行的 if __name__ == "__main__" 程式碼塊,這樣你就能在繼續之前驗證每一步。

from collections import Counter

def top_words(text: str, n: int = 3) -> list[tuple[str, int]]:
    words = (w.lower() for w in text.split())
    return Counter(words).most_common(n)

print(top_words("the cat the dog the bird"))  # [('the', 3), ('cat', 1), ('dog', 1)]