在其它编程语言中、else
子句一般用在 if
结构中,而在Python中,else
子句不仅可以用在 if
结构中,还可以用在 循环结构
和 异常处理结构
中。
循环中的else
else
用在循环结构中时,只有当循环条件正常结束时,else
子句中的代码才会执行。
如果在循环结构中发生了 异常
或执行了 break
语句,else
子句中的代码都不会执行。
i=0
while i<10:
if i==5:
break
i=i+1
else:
print("normal end!")
print(i)
# 最后输出:5,因为执行了break语句
for i in range(10):
if i==5:
break
print(i,end=",")
else:
print("normal end!")
# 最后输出:0,1,2,3,4, 因为执行了break语句
异常处理中的else
else
用在异常处理结构中时,只有当没有异常发生时,else
子句中的代码才会执行。
else
子句中的代码执行是在 try
之后,finally
之前。
try:
0/1
except ZeroDivisionError:
print("ZeroDivisionError")
else:
print("normal end!")
finally:
print("finally!")
# 最后输出为:
# normal end
# finally!