前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Python]循环中的else,break和continue详解

[Python]循环中的else,break和continue详解

作者头像
祥知道
发布2020-03-10 14:51:58
1.2K0
发布2020-03-10 14:51:58
举报
文章被收录于专栏:祥的专栏祥的专栏

原创文章,欢迎转载。转载请注明:转载自 祥的博客

原文链接:http://blog.csdn.net/humanking7/article/details/43792425


在看Python的文档的时候看到了forwhile语句和C语言中有一个最大的区别—可以有一个可选的else语句。这个语句的执行触发机制让我不大明白,通过代码测试才了解了什么情况下触发else语句。“凡存在,皆合理”,Python的设计者肯定是有他的目的,现在咱们来探究一番。

for语句为例,开发环境Python3.4

Python循环中的else作用

循环中else的存在是为了让代码更清晰,更加简洁。下面举个例子给大家看看,分别用 传统的写法带else的写法 实现作用相同的代码

传统C格式的for循环写法

代码语言:javascript
复制
    myList = [1,2,3,4,5,6,7]
    isFound = False

    for item in myList:
        if item == 4:
            isFound = True
            print('List 有 4')
            break

    if not isFound:
        print('List 没有 4')

带else语句for循环写法

代码语言:javascript
复制
    myList = [1,2,3,4,5,6,7]

    for item in myList:
        if item == 4:
            isFound = True
            print('List 有 4')
            break    
    else:
        print('List 没有 4')

对比两处代码,不难发现相较于传统的for循环写法,带else语句的写法更加的简洁,而且少了isFound这个变量以及跳出循环后的这个if判断语句

总结

for … else结构

  1. for里面的语句和普通的(没有else的for语句)没有区别;
  2. else中的语句会在循环正常执行完后执行;
  3. for中语句通过break跳出而中断时,不会执行else

最后总结一句,for ... else结构一般要和break一起使用,才能体现这个结构的强大之处(至少我是这么觉得的,不知还有什么其他情况,希望网友不吝赐教)。

while ... else结构也符合上述条件。

Python循环中的continue和break

continuebreak语句其实就和C语言的用法是一样的,只是在for ... else结构结构中

  1. for中语句通过break跳出而中断时,不会再执行else中的内容;
  2. 而将continue语句和寻常语句无异,只要不是不通过break,光有continue会进入else语句

continue代码示例

代码如下:

代码语言:javascript
复制
    for x in range(1, 4):
        print(x, 'for语句')
        continue
        print(x, 'continue语句后')
    else:
        print(x, 'else语句')

执行结果:

代码语言:javascript
复制
1 for语句
2 for语句
3 for语句
3 else语句

break代码示例

代码如下:

代码语言:javascript
复制
    for x in range(1, 4):
        print(x, 'for语句')
        break
        print(x, 'break语句后')
    else:
        print(x, 'else语句')

执行结果:

代码语言:javascript
复制
1 for语句
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Python循环中的else作用
    • 传统C格式的for循环写法
      • 带else语句for循环写法
        • 总结
        • Python循环中的continue和break
          • continue代码示例
            • break代码示例
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档