Repolode
google

google/yapf

一款 Python 代码格式化工具,可按可配置的风格自动重排源代码。

可替代:Black

Star
13,986
Fork
915
未关闭 Issue
433
最近提交
20小时前

这是什么?

YAPF 是一款 Python 代码格式化工具,会计算出符合指定风格的最佳排版方式,帮助开发者省去手动调整缩进、空格和换行的工作。它基于 clang-format 的重排算法实现,既可以作为命令行工具使用,也可以通过 FormatCode、FormatFile 等接口作为库调用。

风格通过 pep8、google、yapf、facebook 等预设进行选择,并可在 .style.yapf、setup.cfg、pyproject.toml 中或命令行里用键值对自定义。大量可调选项覆盖列宽、括号位置、运算符换行和注释间距等细节。

工具支持只格式化指定的行范围,可通过命令行参数或 .yapfignore 文件排除文件,支持输出 diff,并能并行处理多个文件。使用 --diff 模式时,若需要修改则返回非零退出码,因此可以用于 CI 中的格式检查。

核心功能

  • 01将 Python 文件重排为 pep8、google 等预设风格或自定义风格。
  • 02通过配置文件或命令行调整数十个风格选项。
  • 03可以只格式化文件中指定的行范围。
  • 04支持通过命令行或 .yapfignore、pyproject.toml 排除文件。
  • 05提供 diff 模式,需要修改时返回非零退出码,适合在 CI 中检查格式。
  • 06既可作为命令行工具使用,也可作为 Python 库调用。

适用场景

  • 在 Python 团队或代码仓库中统一代码风格。
  • 在 CI 流程中利用 diff 模式添加格式检查。
  • 在编辑器集成中只格式化某次改动涉及的行。
  • 在生成或转换 Python 代码的脚本中自动清理代码风格。

快速上手

  1. 1

    从 PyPI 安装 YAPF

    pip install yapf
  2. 2

    对 Python 文件运行 yapf,可使用 --diff 或 --in-place 等选项

使用前须知

  • README 称 YAPF 仍处于 beta 阶段,发布版本可能频繁变化。
  • 部分较新的 Python 特性尚不支持,例如 PEP 695 类型参数语法和 PEP 701 f-string 形式化。

收录于专题

标签

常见问题

yapf 是什么?
一款 Python 代码格式化工具,可按可配置的风格自动重排源代码。 YAPF 是一款 Python 代码格式化工具,会计算出符合指定风格的最佳排版方式,帮助开发者省去手动调整缩进、空格和换行的工作。它基于 clang-format 的重排算法实现,既可以作为命令行工具使用,也可以通过 FormatCode、FormatFile 等接口作为库调用。
yapf 可以免费使用吗?用的什么许可证?
yapf 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
yapf 还在维护吗?
活跃维护中。yapf 最近一次提交是在 2026年11月6日。
yapf 适合用来做什么?
在 Python 团队或代码仓库中统一代码风格。 在 CI 流程中利用 diff 模式添加格式检查。 在编辑器集成中只格式化某次改动涉及的行。 在生成或转换 Python 代码的脚本中自动清理代码风格。
yapf 怎么安装和运行?
从 PyPI 安装 YAPF: pip install yapf 对 Python 文件运行 yapf,可使用 --diff 或 --in-place 等选项
在哪里获取 yapf?
源代码和安装说明在 GitHub 上:https://github.com/google/yapf

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目