Python语法糖for else循环语句里的break使用详解

 更新时间:2023年05月26日 10:00:39   作者:wzhvictor  
这篇文章主要介绍了Python语法糖之for else循环语句里的break使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

python循环语句

在Python中的while或者for循环之后还可以有else子句,作用是for循环中if条件一直不满足,则最后就执行else语句。

for i in range(5):
    if i == 1:
        print 'in for'
else:
    print 'in else'
print 'after for-loop'
# in for
# in else
# after for-loop

但我们发现if条件在循环的过程中成立了,最终还是执行了else语句里的内容,这是为什么呢?

好的,我们这时看下面这段程序:

for i in range(5):
    if i == 1:
        print 'in for'
        break
else:
    print 'in else'
print 'after for-loop'
# in for
# after for-loop

我们在if里添加了一个break,这是因为else是在for后执行的,但只有for循环正常退出时才会执行else语句(不是由break结束循环)。而当循环是由break语句中断时,else就不被执行。

添加一个flag

for/else等效于下面这段代码,可以类似C语言那样添加一个flag:

found = False
for i in range(5):
    if i == 1:
        found = True
        print 'in for'
if not found:
    print 'not found'
print 'after for-loop'
# in for
# after for-loop

for语句相似,while语句中的else子句用法是一样的,else块在循环正常结束和循环条件不成立时执行。

以上就是Python语法糖——for/else循环语句里的break的详细内容,更多关于Pythonfor/else循环语句break的资料请关注脚本之家其它相关文章!

相关文章

最新评论