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查找相似单词的方法
Mar 05 Python
python 回调函数和回调方法的实现分析
Mar 23 Python
浅谈pandas用groupby后对层级索引levels的处理方法
Nov 06 Python
使用Pyhton集合set()实现成果查漏的例子
Nov 24 Python
Python Handler处理器和自定义Opener原理详解
Mar 05 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
Oct 15 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
Nov 10 Python
Django restful framework生成API文档过程详解
Nov 12 Python
python 模拟登陆163邮箱
Dec 15 Python
利用python为PostgreSQL的表自动添加分区
Jan 18 Python
Python爬虫入门教程02之笔趣阁小说爬取
Jan 24 Python
Python爬虫制作翻译程序的示例代码
Feb 22 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面向对象分析设计的61条军规小结
2010/07/17 PHP
php数组函数序列之in_array() - 查找数组中是否存在指定值
2011/11/07 PHP
PHP goto语句简介和使用实例
2014/03/11 PHP
ThinkPHP项目分组配置方法分析
2016/03/23 PHP
js 中 document.createEvent的用法
2010/08/29 Javascript
jquery实现图片左右间隔滚动特效(可自动播放)
2013/05/08 Javascript
JavaScript中用getDate()方法返回指定日期的教程
2015/06/09 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
微信小程序前端源码逻辑和工作流
2016/09/25 Javascript
详解AngularJS验证、过滤器、指令
2017/01/04 Javascript
详解AngularJS脏检查机制及$timeout的妙用
2017/06/19 Javascript
jQuery实现选中行变色效果(实例讲解)
2017/07/06 jQuery
vue组件定义,全局、局部组件,配合模板及动态组件功能示例
2019/03/19 Javascript
详解微信小程序缓存--缓存时效性
2019/05/02 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
react用Redux中央仓库实现一个todolist
2019/09/29 Javascript
[00:32]2018DOTA2亚洲邀请赛OpTic出场
2018/04/03 DOTA
[51:32]Optic vs Serenity 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
[44:37]完美世界DOTA2联赛PWL S3 Forest vs access 第一场 12.11
2020/12/13 DOTA
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
在windows系统中实现python3安装lxml
2016/03/23 Python
python编写朴素贝叶斯用于文本分类
2017/12/21 Python
解决Python对齐文本字符串问题
2019/08/28 Python
Flask框架路由和视图用法实例分析
2019/11/07 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
HTML5 LocalStorage 本地存储详细概括(多图)
2017/08/18 HTML / CSS
Snapfish英国:在线照片打印和个性化照片礼品
2017/01/13 全球购物
如何用JQuery进行表单验证
2013/05/29 面试题
《听鱼说话》教学反思
2014/02/15 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
经济管理专业求职信
2014/06/09 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
2015清明节祭奠英烈寄语大全
2015/03/04 职场文书
管理者日常工作必备:22条企业管理流程模板!
2019/07/12 职场文书
在Django中使用MQTT的方法
2021/05/10 Python
HTTP中的Content-type详解
2022/01/18 HTML / CSS