常见问题
缩进会被改错吗?
工具按 PEP8 风格对齐缩进,但 Python 的缩进就是语法。格式化后请先扫一眼逻辑块边界再运行。
f-string 和注释会被破坏吗?
不会。字符串、注释和 f-string 都按整体保留,里面的花括号不会被当代码处理。
代码会上传吗?
不会,格式化完全在浏览器本地执行。
关于这个工具
美化做两件事:按代码块结构把缩进统一成 4 个空格,以及给运算符两侧补空格。块结构靠行首的 def、class、if/elif/else、for、while、try/except/finally、with 加括号深度推断,所以从 PDF、聊天记录、博客里粘出来的乱缩进能一次规整好。
括号没闭合的续行会自动多缩进一级 —— 跨行书写的列表、字典、函数参数都靠这条规则对齐。Tab 按 4 空格折算,混用 Tab 和空格的代码也能拉平。
不动的地方同样要说清楚:单行复合语句保持单行(if x: y=1、a=1;b=2 不会被拆成多行);括号内侧的空格不清洗(f( a , b ) 还是原样);三引号字符串跨行时按字符串状态整体保留。它做的是「把缩进和空格摆正」,不是代码风格重写。
压缩方向只删注释与空行,不动缩进、也不动行内空格 —— Python 用缩进表达块结构,压缩碰缩进等于改语义。所以 Python 的「压缩」省的是注释和空行,输出仍然多行。它不是解释器:缩进推错(match 语句、装饰器链、深嵌套里的非规范写法)不会报错,格式化后先扫一眼块边界再运行。