Python循环中else,break和continue的用法实例详解


Posted in Python onJuly 11, 2019

本文实例讲述了Python循环中else,break和continue的用法。分享给大家供大家参考,具体如下:

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

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

Python循环中的else作用

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

传统C格式的for循环写法

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循环写法

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代码示例

代码如下:

for x in range(1, 4):
  print(x, 'for语句')
  continue
  print(x, 'continue语句后')
else:
  print(x, 'else语句')

执行结果:

1 for语句
2 for语句
3 for语句
3 else语句

break代码示例

代码如下:

for x in range(1, 4):
  print(x, 'for语句')
  break
  print(x, 'break语句后')
else:
  print(x, 'else语句')

执行结果:

1 for语句

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python实现从脚本里运行scrapy的方法
Apr 07 Python
Python实现把xml或xsl转换为html格式
Apr 08 Python
python实现的简单窗口倒计时界面实例
May 05 Python
Django自定义模板过滤器和标签的实现方法
Aug 21 Python
pandas数据处理进阶详解
Oct 11 Python
python绘制雪景图
Dec 16 Python
Python模块的制作方法实例分析
Dec 21 Python
在python中求分布函数相关的包实例
Apr 15 Python
Keras自定义实现带masking的meanpooling层方式
Jun 16 Python
Django crontab定时任务模块操作方法解析
Sep 10 Python
详解python程序中的多任务
Sep 16 Python
教你怎么用Python selenium操作浏览器对象的基础API
Jun 23 Python
Python 获取 datax 执行结果保存到数据库的方法
Jul 11 #Python
python opencv捕获摄像头并显示内容的实现
Jul 11 #Python
python 将日期戳(五位数时间)转换为标准时间
Jul 11 #Python
用Python获取摄像头并实时控制人脸的实现示例
Jul 11 #Python
python实现LBP方法提取图像纹理特征实现分类的步骤
Jul 11 #Python
Python用字典构建多级菜单功能
Jul 11 #Python
Python + OpenCV 实现LBP特征提取的示例代码
Jul 11 #Python
You might like
PHP对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
PHP中Header使用的HTTP协议及常用方法小结
2014/11/04 PHP
php中mysql连接方式PDO使用详解
2015/02/25 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
2016/01/07 PHP
php字符串操作常见问题小结
2016/10/11 PHP
php封装的图片(缩略图)处理类完整实例
2016/10/19 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
PHP基于swoole多进程操作示例
2019/08/12 PHP
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
2019/10/15 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
js 数组克隆方法 小结
2010/03/20 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
js使用eval解析json实例与注意事项分享
2014/01/18 Javascript
JavaScript中使用document.write向页面输出内容实例
2014/10/16 Javascript
JavaScript中标识符提升问题
2015/06/11 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
javascript中的3种继承实现方法
2016/01/27 Javascript
微信小程序request出现400的问题解决办法
2017/05/23 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
ES6中Set和Map用法实例详解
2020/03/02 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
2020/09/04 Javascript
[52:08]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第一局
2016/03/05 DOTA
收集的几个Python小技巧分享
2014/11/22 Python
浅谈Python中带_的变量或函数命名
2017/12/04 Python
python面向对象实现名片管理系统文件版
2019/04/26 Python
pandas和spark dataframe互相转换实例详解
2020/02/18 Python
Anaconda+Pycharm环境下的PyTorch配置方法
2020/03/13 Python
Python 代码调试技巧示例代码
2020/08/11 Python
Python从文件中读取数据的方法步骤
2020/11/18 Python
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
泰国健康和美容服务预订网站:GoWabi
2019/06/03 全球购物
生日邀请函范文
2014/01/13 职场文书
原料仓仓管员岗位职责
2014/07/08 职场文书
商务英语求职信范文
2015/03/19 职场文书
地球上的星星观后感
2015/06/02 职场文书
网络研修心得体会
2016/01/08 职场文书