大多数编程措辞都供应了 if...else... 语句,即表示如果知足条件就做这件事,否则就做其余一件事。同时,在 Python 中 else 除了可以与 if 搭配利用,还有其他特殊的语法: for…else …、while…else …、try…except...else 。
我们先来看一段代码,如下:
上面的代码中,打印结果会是什么呢?我们实行一下,打印信息如下:

我们可以创造,如果循环块中代码正常实行,则实行else代码块,如果前面的循环未实行完,则不实行else代码块。这与 if… else… 刚好相反,在 if… else… 语句中如果if代码块没有实行,则实行else代码块。
我们看一下官方文档中是如何阐明的:
A break statement executed in the first suite terminates the loop without executing the else clause’s suite. A continue statement executed in the first suite skips the rest of the suite and continues with the next item, or with the else clause if there is no next item.
当用 break 关键字终止当前循环时,则不会实行 else 语句。而利用 continue 关键字快速进入下一轮循环,或者没有利用其他关键字,循环的正常结束后,就会实行 else 语句。
同样,我们再看一下 while…else … 语句,如下:
我们实行上面代码,打印信息如下:
我们可以创造这与 for... else... 语法相同,如果循环块中代码正常实行,则实行else代码块,如果前面的循环未实行完,则不实行else代码块。
那么这种用法有哪些场景会利用到呢?
答:彷佛除了下面这种场景,险些没有其他场景会用到该语法。
当我们利用 for 循环遍历列表查找某个元素(或者是更加繁芜的数据构造)时,如果找到了就急速退出循环,如果遍历完所有元素还没找到,则须要以其余一种形式(如,非常)的办法奉告,此时,用 for... else... 会非常的优雅,如下:
如果不该用 for... else... , 那么还需特意创建一个标志位来标记是否已经找到,如下:
末了,须要把稳由于这种语法在实际运用中比较罕有,也随意马虎与 if... else... 稠浊,建议用到此语法时,添加注释解释,避免引起其他误操作。