MST

星途 面试题库

面试题:Python中忘记缩进导致语法错误的常见场景及排查方法

在Python代码中,常常会因为忘记缩进引发语法错误。请举例说明至少3种可能因忘记缩进出现问题的常见场景,并阐述如何快速排查这类问题,假设给定一段报错的代码片段,描述具体排查步骤。
22.3万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试

常见场景

  1. 函数定义
# 错误示例,函数体未缩进
def add_numbers(a, b):
print(a + b)  # 这里应该缩进

# 正确示例
def add_numbers(a, b):
    print(a + b)
  1. 循环语句
# 错误示例,循环体未缩进
for i in range(5):
print(i)  # 这里应该缩进

# 正确示例
for i in range(5):
    print(i)
  1. 条件语句
# 错误示例,条件分支未缩进
x = 10
if x > 5:
print('x 大于 5')  # 这里应该缩进

# 正确示例
x = 10
if x > 5:
    print('x 大于 5')

排查步骤

  1. 查看报错信息:Python解释器会在报错信息中指出大概位置,如 SyntaxError: unexpected indent 等,关注报错指出的行号。
  2. 定位可疑代码块:找到报错行号对应的代码,查看该行及上一行代码。通常是代码块的起始行之后的代码忘记缩进。例如,如果报错行是条件语句后的执行语句,检查 if 语句那一行和报错行之间的缩进关系。
  3. 检查缩进一致性:确认代码块整体的缩进方式,是使用空格还是制表符,并且是否保持一致。有时候混用空格和制表符也会导致类似的缩进错误。可以在代码编辑器中设置显示空格和制表符,方便查看。
  4. 逐行检查代码块:从报错行开始,向上检查代码块内的每一行,确保它们都有正确的缩进。如果代码块包含多层嵌套,要特别注意不同层次之间的缩进量是否正确。例如,内层代码块应该比外层代码块缩进更多。