1. Python缩进错误的本质与常见场景
Python作为一门强制缩进的语言, IndentationError 可以说是每个初学者都会遇到的"入门礼"。我处理过上千例这类报错,发现90%的问题都源于几个典型场景:
- 混用空格和Tab键:这是最隐蔽的"杀手"。当编辑器设置不同时,看似对齐的代码实际缩进不一致
- 复制粘贴代码:从网页或PDF复制代码时,原有缩进格式经常被破坏
- 多级嵌套混乱:特别是
if-elif-else或try-except结构中,缩进层级容易错位 - 函数定义不完整:
def语句后缺少冒号或缩进块会导致连锁错误
关键提示:Python官方推荐使用4个空格作为缩进单位。虽然Tab也能工作,但不同编辑器对Tab的显示宽度可能不同,这是团队协作时的"定时炸弹"
2. 诊断缩进错误的四步排查法
2.1 可视化隐藏字符
现代编辑器都支持显示空白字符:
- VSCode:右下角切换"Render Whitespace"
- PyCharm:View → Active Editor → Show Whitespaces
- Sublime:Preferences → Settings → 添加
"draw_white_space": "all"
当看到代码中混合出现 · (空格)和 → (Tab)时,就是问题所在。
2.2 使用reindent工具
Python自带的 reindent.py 脚本可以自动修复缩进:


190

被折叠的 条评论
为什么被折叠?



