Python 格式化工具(Ruff)

使用编译为 WebAssembly 的 Ruff(兼容 Black)格式化 Python 代码。可选择缩进和引号风格,语法错误会显示行号和列号。

首次运行会下载 Ruff 格式化引擎(WebAssembly,约几 MB)。
输出

完全在浏览器中运行,您的数据不会被上传。

相关工具

查看全部

什么是 Python 格式化?

Python 格式化工具通过 WebAssembly 直接在浏览器中运行 Ruff 格式化器——一个快速且兼容 Black 的 Python 格式化器。它会规范缩进、空格、引号、空行,并在 88 个字符处换行。

如何使用 Python 格式化

  1. 把 Python 代码粘贴到输入框中,或点击 加载示例。
  2. 选择 缩进 和 引号风格。
  3. 点击 格式化。首次运行会下载 Ruff 引擎(WebAssembly,几 MB),之后的运行是即时的。
  4. 复制或下载格式化后的代码。

示例

输入
def f(a,b):
  return {'x':a}
输出
def f(a, b):
    return {"x": a}

何时使用 Python 格式化

适合整理脚本和代码片段、为回答或教学格式化代码,或检查代码能否解析。它只负责格式化,不会应用删除未使用的导入或排序导入之类的 lint 修复。对于项目,请在本地使用你的配置运行 ruff format 或 Black。

Python 格式化 的工作原理

按需加载 Ruff 官方的 @astral-sh/ruff-wasm-web 构建。创建 Ruff 工作区时设置 line-length = 88、所选的 indent-width / indent-style 以及 quote-style,然后调用它的 format 函数。Ruff 把代码解析为语法树,并以 Black 风格输出(例如顶层定义之间留两个空行、使用“魔术”末尾逗号)。如果代码无法解析,会显示 Ruff 的错误以及行号和列号。

常见用例

  • 分享前格式化 Jupyter 或脚本代码
  • 让教程中的代码符合 PEP 8
  • 无需安装任何东西即可检查 Python 语法
  • 把缩进从 2 个空格改成 4 个空格

安全提示

所有处理都在你的浏览器本地完成,粘贴的代码不会被上传。

常见问题

输出和 Black 一样吗?

Ruff 的格式化器被设计为兼容 Black,差异很少见。

为什么第一次运行比较慢?

Ruff 的 WebAssembly 模块(几 MB)只需下载一次,浏览器会缓存它。

它会排序导入或删除未使用的导入吗?

不会,它只做格式化。那些属于 lint 修复(Ruff 的 I 和 F401 规则)。

我的代码会被执行吗?

不会,代码只会被解析和输出。

探索更多分类