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的gevent框架的入门教程
Apr 29 Python
python关键字and和or用法实例
May 28 Python
Python中with及contextlib的用法详解
Jun 08 Python
详解python中docx库的安装过程
Nov 08 Python
Python 根据数据模板创建shapefile的实现
Nov 26 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
Feb 11 Python
python常用运维脚本实例小结
Feb 14 Python
Python requests获取网页常用方法解析
Feb 20 Python
对Python中 \r, \n, \r\n的彻底理解
Mar 06 Python
Tensorflow之梯度裁剪的实现示例
Mar 08 Python
解决python使用list()时总是报错的问题
May 05 Python
Elasticsearch 基本查询和组合查询
Apr 19 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
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
PHP从二维数组得到N层分类树的实现代码
2016/10/11 PHP
php事务回滚简单实现方法示例
2017/03/28 PHP
php通过各种函数判断0和空
2020/07/04 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
php创建类并调用的实例方法
2019/09/25 PHP
加速IE的Javascript document输出的方法
2010/12/02 Javascript
javascript textarea光标定位方法(兼容IE和FF)
2011/03/12 Javascript
jquery实现类似淘宝星星评分功能有截图
2014/09/15 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
归纳下js面向对象的几种常见写法总结
2016/08/24 Javascript
Node.js包管理器Yarn的入门介绍与安装
2016/10/17 Javascript
Vue中的v-cloak使用解读
2017/03/27 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
微信小程序页面调用自定义组件内的事件详解
2019/09/12 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
2020/09/22 Javascript
基于Vue+Webpack拆分路由文件实现管理
2020/11/16 Javascript
python实现的DES加密算法和3DES加密算法实例
2015/06/03 Python
基于python中staticmethod和classmethod的区别(详解)
2017/10/24 Python
python实现大学人员管理系统
2019/10/25 Python
PyTorch学习:动态图和静态图的例子
2020/01/06 Python
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
python 如何区分return和yield
2020/09/22 Python
python pymysql库的常用操作
2020/10/16 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
HTML5进阶段内联标签汇总(小篇)
2016/07/13 HTML / CSS
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
雅虎笔试题(字符串操作)
2015/03/24 面试题
linux面试题参考答案(11)
2016/11/26 面试题
优秀技术工人先进材料
2014/02/17 职场文书
查摆问题整改措施
2014/10/24 职场文书
Python中Selenium对Cookie的操作方法
2021/07/09 Python
详解JavaScript的计时器和按钮效果设置
2022/02/18 Javascript
python+pyhyper实现识别图片中的车牌号思路详解
2022/12/24 Python