面试题答案
一键面试正确设置缩进
- 函数定义:函数体的语句要比
def
关键字所在行缩进一级,通常使用4个空格或1个制表符(建议使用4个空格,以保持一致性)。例如:
def my_function():
print("这是函数体")
- 条件判断:
if
、elif
、else
子句中的语句要比条件判断语句缩进一级。例如:
x = 10
if x > 5:
print("x大于5")
else:
print("x小于等于5")
- 循环:
for
循环和while
循环体中的语句要比循环语句缩进一级。例如:
for i in range(5):
print(i)
如果代码块中有嵌套结构,例如函数中包含条件判断,条件判断中又包含循环,那么内层结构要比外层结构再缩进一级。例如:
def nested_function():
num = 10
if num > 5:
for i in range(num):
print(i)
缩进错误引发的错误类型及举例
- 语法错误(SyntaxError):如果缩进不正确,Python解释器会无法正确解析代码结构,从而抛出
SyntaxError
。- 例如,函数体缺少缩进:
def my_function():
print("错误的缩进")
# 这里print语句没有缩进,会引发SyntaxError
- 再如,条件判断语句中缩进混乱:
x = 10
if x > 5:
print("x大于5")
# 这里print语句没有缩进,会引发SyntaxError
else:
print("x小于等于5")
- 逻辑错误:即使代码没有语法错误,但缩进错误可能导致逻辑不符合预期。例如:
for i in range(5):
print(i)
print("循环外的语句")
# 最后一行的print语句看起来像是循环内的,但实际上它没有正确缩进,
# 逻辑上它会在循环结束后只执行一次,而不是每次循环都执行
这种情况下,代码不会引发语法错误,但执行结果可能与开发者预期的不同,这属于逻辑错误。