跳至主要内容

Python 教學

本節涵蓋 Python 工程實踐、工具鏈和現代開發工作流。

文件目錄

文件說明
Python 工程指南專案結構、依賴管理和最佳實踐
pyproject.toml 指南使用 pyproject.toml 的現代 Python 專案設定
uv 指南快速 Python 套件管理器和專案管理
Python 工具簡介代碼質量工具:Linter、格式化器和類型檢查器

代碼質量工具概述

Python 擁有成熟的代碼質量工具生態系統,幫助維護一致性、盡早發現 Bug 並強制執行標準。

工具分類

分類用途範例
Linter發現錯誤、Bug 和風格問題Pylint、Flake8、Ruff
格式化器強制一致的代碼風格Black、Ruff
類型檢查器驗證類型註解MyPy、Pyright
匯入排序器組織 import 語句isort、Ruff

推薦:Ruff

Ruff 是一個用 Rust 編寫的現代一體化 Python Linter 和格式化器。它用一個極快的工具替代了 Flake8、isort、Black 等多個工具。

為什麼選擇 Ruff?

方面傳統工具棧Ruff
需要的工具Flake8 + isort + Black + MyPy僅 Ruff
速度30-60 秒1-3 秒
設定多個設定檔單一 pyproject.toml
自動修復有限全面

快速開始

# 安裝
pip install ruff

# Lint 並自動修復
ruff check --fix src/

# 格式化
ruff format src/

基礎設定

[tool.ruff]
line-length = 88
target-version = "py38"

[tool.ruff.lint]
select = ["E", "F", "UP", "B", "SIM", "I", "N"]
ignore = ["E501"]

傳統工具(供參考)

工具用途速度狀態
Pylint全面 Lint(200+ 規則)成熟,深度分析仍有價值
Black不妥協的格式化器中等廣泛採用的標準
MyPy靜態類型檢查類型化程式碼庫必備
Flake8Lint 封裝(PyFlakes + pycodestyle)中等正在被 Ruff 取代

詳細的對比和遷移指南請參閱 Python 工具簡介