在Python中,else
子句不仅可以与for
循环一起使用,还可以与while
循环一起使用。它们的工作原理是相似的,当循环正常结束(即没有被break
语句打断)时,else
子句会被执行。
1. for
循环与 else
当for
循环正常完成所有迭代时,else
子句会被执行;如果循环被break
语句中断,则不会执行else
子句。
for i in range(5):
if i == 3:
break
print(i)
else:
print("for loop completed without break")
# 输出:
# 0
# 1
# 2
# 请注意:“for loop completed without break”不会被打印,因为循环在i == 3时被break打破。
2. while
循环与 else
类似地,当while
循环正常完成(即条件变为False
且没有被break
中断)时,else
子句会被执行。
x = 0
while x < 5:
if x == 3:
break
print(x)
x += 1
else:
print("while loop completed without break")
# 输出:
# 0
# 1
# 2
# 请注意:“while loop completed without break”不会被打印,因为循环在x == 3时被break打破。
正常执行 else
子句的例子:
for
循环:
for i in range(5):
print(i)
else:
print("for loop completed without break")
# 输出:
# 0
# 1
# 2
# 3
# 4
# for loop completed without break
while
循环:
x = 0
while x < 5:
print(x)
x += 1
else:
print("while loop completed without break")
# 输出:
# 0
# 1
# 2
# 3
# 4
# while loop completed without break
小结
- 在
for
循环中,else
子句在没有被break
打断的情况下执行。 - 在
while
循环中,else
子句也在没有被break
打断的情况下执行。
请注意,虽然else
子句可以与for
和while
循环一起使用,但在实际开发中并不是很常见,尤其是对于初学者来说,它可能显得有点晦涩。理解这一点可以帮助你在阅读和编写Python代码时更好地掌握其语法结构。