psf

Black 是毫不妥协的 Python 代码格式化器,用固定风格自动重排代码,消除格式争论,让代码评审聚焦内容本身。

26.10.1
发布于
18 天前
41,954
星标
1,892
下载
同步于
8 天前

最新版本

26.10.12026年10月10日 12:11
下载慢?可在上方随时切换镜像源

项目说明

项目概述

Black 是 Python 社区最流行的代码格式化器之一,以「毫不妥协」著称:风格选项刻意保持极少,格式化结果确定且全项目统一。它让你放弃对格式细节的控制,换回速度、确定性和免受风格告警打扰的开发体验。经 Black 格式化的代码在所有项目里观感一致,并生成最小化 diff 以加快代码评审。

项目 内容
语言 Python
运行要求 Python 3.10+
风格基准 PEP 8
许可 MIT

格式交给 Black,精力还给代码本身。

主要功能

  • 自动格式化:直接重排整个文件,风格统一无需讨论
  • PEP 8 兼容:在 PEP 8 基础上给出确定的风格决策
  • 最小 diff:格式化后产生尽可能小的差异,评审更聚焦
  • 安全校验:默认校验格式化前后 AST 等价,避免改变语义
  • pyproject 配置:支持通过 pyproject.toml 指定 include 与 exclude 等选项
  • Notebook 支持:安装 black[jupyter] 可格式化 Jupyter Notebook
  • 预提交钩子:常与 pre-commit 配合实现提交前自动格式化

适用人群

  • Python 开发者
  • 开源项目维护者
  • 希望终结风格争论的团队
  • 重视评审效率的技术负责人
  • CI 流水线维护者

快速上手

  1. 安装 Black
pip install black
  1. 格式化文件或目录
black {source_file_or_directory}
  1. 无 Python 环境的机器可从 GitHub Releases 下载独立可执行文件使用

  2. 可选:在 pyproject.toml 中配置 include 与 exclude 模式

核心优势

  • 风格零争论:选项极少,团队无需在风格上消耗时间
  • 结果确定:同样的输入永远得到同样的输出
  • 语义安全:默认校验 AST 等价,格式化不改行为
  • 广泛验证:Django、SQLAlchemy、pandas 等大量项目长期使用

系统要求

项目 要求
操作系统 Linux、macOS、Windows
语言环境 Python 3.10 及以上
Notebooks 需安装 black[jupyter] 附加依赖

注意事项

  • 风格稳定:项目已进入稳定期,不再出现大规模风格变更
  • 例外规则:部分场景存在 pragmatism 例外,提交 issue 前先查阅文档
  • 速度取舍:AST 安全校验会略降速度,确有需要可用 --fast

历史版本

排序