for x in range(5): if x == 2: print(x) # break else: print("执行else....")
上述代码:当缺少break关键字时,程序的执行结果是:
2
执行else....
当具备break关键字时,程序执行结果为:
2
总结:
for......else......的执行顺序为:
当迭代对象完成所有迭代后且此时的迭代对象为空时,如果存在else子句则执行else子句,没有则继续执行后续代码;如果迭代对象因为某种原因(如带有break关键字)提前退出迭代,则else子句不会被执行,程序将会直接跳过else子句继续执行后续代码