常见场景
- 函数定义:
# 错误示例,函数体未缩进
def add_numbers(a, b):
print(a + b) # 这里应该缩进
# 正确示例
def add_numbers(a, b):
print(a + b)
- 循环语句:
# 错误示例,循环体未缩进
for i in range(5):
print(i) # 这里应该缩进
# 正确示例
for i in range(5):
print(i)
- 条件语句:
# 错误示例,条件分支未缩进
x = 10
if x > 5:
print('x 大于 5') # 这里应该缩进
# 正确示例
x = 10
if x > 5:
print('x 大于 5')
排查步骤
- 查看报错信息:Python解释器会在报错信息中指出大概位置,如
SyntaxError: unexpected indent
等,关注报错指出的行号。
- 定位可疑代码块:找到报错行号对应的代码,查看该行及上一行代码。通常是代码块的起始行之后的代码忘记缩进。例如,如果报错行是条件语句后的执行语句,检查
if
语句那一行和报错行之间的缩进关系。
- 检查缩进一致性:确认代码块整体的缩进方式,是使用空格还是制表符,并且是否保持一致。有时候混用空格和制表符也会导致类似的缩进错误。可以在代码编辑器中设置显示空格和制表符,方便查看。
- 逐行检查代码块:从报错行开始,向上检查代码块内的每一行,确保它们都有正确的缩进。如果代码块包含多层嵌套,要特别注意不同层次之间的缩进量是否正确。例如,内层代码块应该比外层代码块缩进更多。