LOADING

加载过慢请开启缓存 浏览器默认开启

python-神奇的else

前言

elsepython中的一个关键字,它在if语句中用来表示if语句的条件不成立时执行的语句块。

一般情况下else只有在if条件不成立时执行;如下:

n = 1
if n == 0:
    pass
else:
    print("else")

但是,else还可以有其他的用法,下面介绍几种常见的用法。

在循环中的else

在循环代码块后跟上else代码块;else将在循环结束时执行。如果在循环中执行了break语句;else将不会执行。

for i in range(10):
    print(i)
    if i == 5:
        print("break")
        break
else:
    print("for else") # 循环被跳过这里将不会执行
n = 10
while n:
    n -= 1
else:
    print("while else")

查询元素

for i in range(10):
 if i == 11:
    print("找到了~~")
    break
else:
    print("没有找到~~")

跳出外层循环

for循环正常执行完,建执行else块;在else块中有break关键字,将跳出外层循环。

for i in range(10):
 for j in range(10):
    print(i, j)
    if i != 5:
     break
 else:
    break # 跳出外层循环

try 中的 else

try代码块中;else块将在try中没有出错的情况下执行。
else块应该跟在except块后面。

try:
    print("可能会出错的代码")
except:
    print("出错后执行的")
else:
    print("没有出错时执行的")
finally:
    print("无论如何都会执行的")

该语法我只在python中见过,见网上大多人不建议使用;但我觉得既然提供了这一种语法为什么不用呢?在适合的地方使用更方便的语法不是理所当然的吗;比如在列表中查询。。。。