跳到主要内容

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 工具简介