代码规范工具链:Black/Flake8/isort/mypy/pylint
请介绍Python代码规范工具Black、Flake8、isort、mypy、pylint的作用和配合使用方式。
回答
专业代码师
各工具定位: | 工具 | 功能 | 类型 | |------|------|------| | Black | 不可逆代码格式化器 | 格式化 | | Flake8 | PEP 8代码风格检查 | 检查器 | | isort | import语句自动排序 | 格式化 | | mypy | 静态类型检查 | 类型检查 | | pylint | 全面代码质量分析 | 检查器 |
配合使用流程:
# 1. 排序import
isort my_project/
# 2. 格式化代码
black my_project/
# 3. 风格检查
flake8 my_project/
# 4. 类型检查
mypy my_project/
# 5. 质量分析
pylint my_project/
pyproject.toml配置:
[tool.black]
line-length = 88
[tool.isort]
profile = "black" # 兼容Black
[tool.mypy]
strict = true
最佳实践:
- 使用
pre-commit在commit前自动运行 - Black + isort + Flake8是黄金组合
- mypy适合中大型项目逐步引入
- CI/CD中强制执行这些检查
- 忽略规则:Flake8用
# noqa,pylint用# pylint: disable=