Python语法糖——for/else循环语句里的break

发布时间:2019-08-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Python语法糖——for/else循环语句里的break脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

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

@H_360_25@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就不被执行。

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全部内容,希望文章能够帮你解决Python语法糖——for/else循环语句里的break所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。