Python循环语句中else的用法总结


Posted in Python onSeptember 11, 2016

前言

本文讨论Python的for…elsewhile…else等语法,这些是Python中最不常用、最为误解的语法特性之一。

Python中的forwhile等循环都有一个可选的else分支(类似if语句和try语句那样),在循环迭代正常完成之后执行。换句话说,如果我们不是以除正常方式以外的其他任意方式退出循环,那么else分支将被执行。也就是在循环体内没有break语句、没有return语句,或者没有异常出现。

下面我们来看看详细的使用实例。

一、 常规的 if else 用法

x = True
if x:
 print 'x is true'
else:
 print 'x is not true'

二、if else 快捷用法

这里的 if else 可以作为三元操作符使用。

mark = 40
is_pass = True if mark >= 50 else False
print "Pass? " + str(is_pass)

三、与 for 关键字一起用

在满足以下情况的时候,else 下的代码块会被执行:

     1、for 循环里的语句执行完成

     2、for 循环里的语句没有被 break 语句打断

# 打印 `For loop completed the execution`
for i in range(10):
 print i
else:
 print 'For loop completed the execution'
# 不打印 `For loop completed the execution`
for i in range(10):
 print i
 if i == 5:
 break
else:
 print 'For loop completed the execution'

四、与 while 关键字一起用

和上面类似,在满足以下情况的时候,else 下的代码块会被执行:

     1、while 循环里的语句执行完成

     2、while 循环里的语句没有被 break 语句打断

# 打印 `While loop execution completed`
a = 0
loop = 0
while a <= 10:
 print a
 loop += 1
 a += 1
else:
 print "While loop execution completed"
# 不打印 `While loop execution completed`
a = 50
loop = 0
while a > 10:
 print a
 if loop == 5:
 break
 a += 1
 loop += 1
else:
 print "While loop execution completed"

五、与 try except 一起用

try except 一起使用时,如果不抛出异常,else里的语句就能被执行。

file_name = "result.txt"
try:
 f = open(file_name, 'r')
except IOError:
 print 'cannot open', file_name
else:
 # Executes only if file opened properly
 print file_name, 'has', len(f.readlines()), 'lines'
 f.close()

总结

关于Python中循环语句中else的用法总结到这就基本结束了,这篇文章对于大家学习或者使用Python还是具有一定的参考借鉴价值的,希望对大家能有所帮助,如果有疑问大家可以留言交流。

Python 相关文章推荐
在Django的session中使用User对象的方法
Jul 23 Python
Python递归实现汉诺塔算法示例
Mar 19 Python
Window10+Python3.5安装opencv的教程推荐
Apr 02 Python
python邮件发送smtplib使用详解
Jun 16 Python
在python中获取div的文本内容并和想定结果进行对比详解
Jan 02 Python
Pandas分组与排序的实现
Jul 23 Python
Python 中的 global 标识对变量作用域的影响
Aug 12 Python
python使用python-pptx删除ppt某页实例
Feb 14 Python
jupyter notebook 的工作空间设置操作
Apr 20 Python
scrapy-redis分布式爬虫的搭建过程(理论篇)
Sep 29 Python
Python编程super应用场景及示例解析
Oct 05 Python
asyncio异步编程之Task对象详解
Mar 13 Python
python字典键值对的添加和遍历方法
Sep 11 #Python
解决Python 遍历字典时删除元素报异常的问题
Sep 11 #Python
完美解决python遍历删除字典里值为空的元素报错问题
Sep 11 #Python
python 循环遍历字典元素的简单方法
Sep 11 #Python
遍历python字典几种方法总结(推荐)
Sep 11 #Python
python遍历 truple list dictionary的几种方法总结
Sep 11 #Python
浅谈python中的变量默认是什么类型
Sep 11 #Python
You might like
php数组函数序列之array_sum() - 计算数组元素值之和
2011/10/29 PHP
PHP中文件缓存转内存缓存的方法
2011/12/06 PHP
PHP中session变量的销毁
2014/02/27 PHP
smarty简单应用实例
2015/11/03 PHP
你必须知道的Javascript知识点之&quot;深入理解作用域链&quot;的介绍
2013/04/23 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
JavaScript手机振动API
2016/06/11 Javascript
Javascript中内建函数reduce的应用详解
2016/10/20 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
微信小程序 下拉列表的实现实例代码
2017/03/08 Javascript
prototype.js简单实现ajax功能示例
2017/10/18 Javascript
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
2018/01/18 jQuery
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
微信小程序实现换肤功能
2018/03/14 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
uni-app使用微信小程序云函数的步骤示例
2020/05/22 Javascript
Python 抓取动态网页内容方案详解
2014/12/25 Python
django Serializer序列化使用方法详解
2018/10/16 Python
Python OpenCV实现鼠标画框效果
2020/08/19 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
2020/02/16 Python
postman和python mock测试过程图解
2020/02/22 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
Python之Matplotlib文字与注释的使用方法
2020/06/18 Python
python能否java成为主流语言吗
2020/06/22 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
凯蒂·佩里个人女鞋品牌:Katy Perry Collections
2019/04/04 全球购物
Perfume’s Club中文官网:西班牙美妆在线零售品牌
2020/08/24 全球购物
建筑自我鉴定
2013/10/19 职场文书
婚前保证书
2014/04/29 职场文书
文秘专业应届生求职信
2014/05/26 职场文书
2014年最新党员对照检查材料汇总
2014/09/15 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
国防教育标语
2014/10/08 职场文书
学期个人工作总结
2015/02/13 职场文书
国庆节慰问信
2015/02/15 职场文书
如何使用vue3打造一个物料库
2021/05/08 Vue.js