MST

星途 面试题库

面试题:Python代码格式设置之缩进问题

在Python中,代码缩进至关重要。假设你有一段包含函数定义、条件判断和循环的代码块,简述如何正确设置缩进,以及如果缩进错误可能会引发什么类型的错误,并举例说明。
41.7万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试

正确设置缩进

  1. 函数定义:函数体的语句要比def关键字所在行缩进一级,通常使用4个空格或1个制表符(建议使用4个空格,以保持一致性)。例如:
def my_function():
    print("这是函数体")
  1. 条件判断ifelifelse子句中的语句要比条件判断语句缩进一级。例如:
x = 10
if x > 5:
    print("x大于5")
else:
    print("x小于等于5")
  1. 循环for循环和while循环体中的语句要比循环语句缩进一级。例如:
for i in range(5):
    print(i)

如果代码块中有嵌套结构,例如函数中包含条件判断,条件判断中又包含循环,那么内层结构要比外层结构再缩进一级。例如:

def nested_function():
    num = 10
    if num > 5:
        for i in range(num):
            print(i)

缩进错误引发的错误类型及举例

  1. 语法错误(SyntaxError):如果缩进不正确,Python解释器会无法正确解析代码结构,从而抛出SyntaxError
    • 例如,函数体缺少缩进:
def my_function():
print("错误的缩进") 
# 这里print语句没有缩进,会引发SyntaxError
- 再如,条件判断语句中缩进混乱:
x = 10
if x > 5:
print("x大于5") 
# 这里print语句没有缩进,会引发SyntaxError
else:
    print("x小于等于5")
  1. 逻辑错误:即使代码没有语法错误,但缩进错误可能导致逻辑不符合预期。例如:
for i in range(5):
print(i)
print("循环外的语句") 
# 最后一行的print语句看起来像是循环内的,但实际上它没有正确缩进,
# 逻辑上它会在循环结束后只执行一次,而不是每次循环都执行

这种情况下,代码不会引发语法错误,但执行结果可能与开发者预期的不同,这属于逻辑错误。