python中的for else的原理

python中的for else的原理是,

for语句跳出的原则是因为迭代器抛出了StopIteration异常,即

try:
    while True:
        temp=next(iterator)
        do something 1
except StopIteration:
        do something 2

for else 恰好利用了这个异常捕获机制,在2出执行else代码,因为如果for循环正常执行完,那么就会触发异常,则2就会被执行,但是如果循环过程中出触发了break则循环会退出,那么就不会触发异常,则不会执行2语句,也就是不会执行else。

你可能感兴趣的:(Python,python,for,else,原理)