今天简单说下while...else的用法,据说它是python中不常用却又经常引起误解的语法。
先看下下面的程序执行结果
count = 6 while count < 10: print(count) if count == 5: break count += 1 else: print('正常执行结束')
执行结果:
6
7
8
9
正常执行结束
以上break语句没有执行,下面的else语句执行了,再看下面的程序执行结果:
count = 11 while count < 10: print(count) if count == 5: break count += 1 else: print('正常执行结束')
执行结果:
正常执行结束
上面整个循环内的语句只执行了条件判断,最后else语句也执行了,再看下面的程序执行结果:
count = 1 while count < 10: print(count) if count == 5: break count += 1 else: print('正常执行结束')
执行结果:
1
2
3
4
5
以上循环语句执行了一部分,通过执行break语句退出了循环,else语句没有被执行,结果表明,else只有在循环不正常退出时才会不执行,正常循环执行结束后就会执行else语句。
再说明一点,不正常退出循环的情况包括break语句中断循环,return语句结束循环,和其他一些异常情况。即在循环内不执行break,return语句或者没有异常情况时都会执行else语句。
在python中还有for...else语句,与while...else语句同理。