格式化 Python 代码

粘贴使用制表符或不规则空格缩进的 Python 脚本:工具会将缩进统一规范为每级 4 个空格,且不会改变代码的逻辑结构。

注意:在 Python 中,缩进属于语法的一部分。本格式化工具只是规范现有缩进的宽度(类似 autopep8 --select=E1),不会像 black 这样的完整工具那样重新组织代码行或表达式。

示例:

工作原理

工具会通过计算非空行缩进长度的最大公约数,检测脚本中使用的缩进单位(例如 2 个空格、3 个空格,或每个转换为 4 个空格的制表符)。随后,每一行都会按检测到的相对层级重写为每级恰好 4 个空格,内容和顺序保持不变。空行和行尾空格也会被清理。

格式化后脚本的行为会改变吗?

不会,前提是原始缩进是一致的(全文使用同一个缩进单位):改变的只是缩进的视觉宽度,代码块真实的嵌套层级不会变。如果源文件本身混用了不一致的缩进(例如某处 2 个空格、另一处 3 个空格),自动检测可能出错:执行前请务必检查结果。

支持制表符吗?

支持:行首的每个制表符在分析前都会转换为 4 个空格,因此用制表符缩进的脚本与用 4 个空格缩进的脚本处理方式完全相同。

格式化 100% 在您的浏览器本地运行:您的 Python 代码绝不会上传到服务器。