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

yipeiwu_com6年前Python基础

本文实例讲述了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数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python文件与目录操作技巧汇总

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

相关文章

对python读取CT医学图像的实例详解

对python读取CT医学图像的实例详解

需要安装OpenCV和SimpleItk。 SimpleItk比较简单,直接pip install SimpleItk即可。 代码如下: #coding:utf-8 import S...

pycharm: 恢复(reset) 误删文件的方法

pycharm: 恢复(reset) 误删文件的方法

昨晚写代码的时候,一不小心把某个代码文件误删了。。。赶紧上网找了一下pycharm如何恢复误删文件,结果还真有。 经过操作,成功恢复了误删文件。现将方法过程记录如下: Method 在P...

Python文件夹与文件的操作实现代码

有关文件夹与文件的查找,删除等功能 在 os 模块中实现。使用时需先导入这个模块, 导入的方法是: import os 一、取得当前目录 s = os.getcwd() # s 中保存的...

python实现mysql的读写分离及负载均衡

python实现mysql的读写分离及负载均衡

Oracle数据库有其公司开发的配套rac来实现负载均衡,目前已知的最大节点数能到128个,但是其带来的维护成本无疑是很高的,并且rac的稳定性也并不是特别理想,尤其是节点很多的时候。...

python安装cx_Oracle模块常见问题与解决方法

本文实例讲述了python安装cx_Oracle模块常见问题与解决方法。分享给大家供大家参考,具体如下: 安装或使用cx_Oracle时,需要用到Oracel的链接库,如libclnts...