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调用C/C++动态链接库的方法详解
Jul 22 Python
MySQL最常见的操作语句小结
May 07 Python
Python简单连接MongoDB数据库的方法
Mar 15 Python
Python内置数据结构与操作符的练习题集锦
Jul 01 Python
Django学习笔记之Class-Based-View
Feb 15 Python
Python AES加密模块用法分析
May 22 Python
python音频处理用到的操作的示例代码
Oct 27 Python
tensorflow实现逻辑回归模型
Sep 08 Python
python实现汽车管理系统
Nov 30 Python
Python爬虫爬取Bilibili弹幕过程解析
Oct 10 Python
python 解决微分方程的操作(数值解法)
May 26 Python
关于 Python json中load和loads区别
Nov 07 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中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
php输出xml属性的方法
2015/03/19 PHP
php算法实例分享
2015/07/14 PHP
开启PHP的伪静态模式
2015/12/31 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
2020/08/03 PHP
jquery 插件之仿“卓越亚马逊”首页弹出菜单效果
2008/12/25 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
JQuery CheckBox(复选框)操作方法汇总
2015/04/15 Javascript
一个php+js实时显示时间问题
2015/10/12 Javascript
高效Web开发的10个jQuery代码片段
2016/07/22 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
vue如何获取点击事件源的方法
2017/08/10 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
Vue+mui实现图片的本地缓存示例代码
2018/05/24 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
解决layer弹出层自适应页面大小的问题
2019/09/16 Javascript
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
一些Python中的二维数组的操作方法
2015/05/02 Python
使用Python简单的实现树莓派的WEB控制
2016/02/18 Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
2017/03/12 Python
Linux下多个Python版本安装教程
2018/08/15 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
python扫描线填充算法详解
2020/02/19 Python
python 将视频 通过视频帧转换成时间实例
2020/04/23 Python
基于CentOS搭建Python Django环境过程解析
2020/08/24 Python
Python绘制组合图的示例
2020/09/18 Python
分享CSS3中必须要知道的10个顶级命令
2012/04/26 HTML / CSS
2014年大学生党员评议表自我评价
2014/09/20 职场文书
公司保洁员管理制度
2015/08/04 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书
vue使用refs获取嵌套组件中的值过程
2022/03/31 Vue.js
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏