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 相关文章推荐
零基础写python爬虫之抓取百度贴吧代码分享
Nov 06 Python
利用python生成一个导出数据库的bat脚本文件的方法
Dec 30 Python
使用XML库的方式,实现RPC通信的方法(推荐)
Jun 14 Python
Python学生成绩管理系统简洁版
Apr 05 Python
浅谈flask中的before_request与after_request
Jan 20 Python
django 外键model的互相读取方法
Dec 15 Python
python输出决策树图形的例子
Aug 09 Python
python实现双色球随机选号
Jan 01 Python
在python中利用dict转json按输入顺序输出内容方式
Feb 27 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
Dec 07 Python
python UIAutomator2使用超详细教程
Feb 19 Python
Python实现Hash算法
Mar 18 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函数strip_tags的一个bug浅析
2014/05/22 PHP
PHP聊天室简单实现方法详解
2018/12/08 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
Js,alert出现乱码问题的解决方法
2013/06/19 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
2013/07/14 Javascript
Javascript 遍历页面text控件详解
2014/01/06 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
JQuery EasyUI的使用
2016/02/24 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
js时间比较 js计算时间差的简单实现方法
2016/08/26 Javascript
JS沙箱模式实例分析
2017/09/04 Javascript
JS实现的文字间歇循环滚动效果完整示例
2018/02/13 Javascript
js运算符的一些特殊用法
2018/07/29 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
2019/02/01 Javascript
Vue开发之封装分页组件与使用示例
2019/04/25 Javascript
详解json串反转义(消除反斜杠)
2019/08/12 Javascript
[01:13]2015国际邀请赛线下观战现场
2015/08/08 DOTA
python文件和目录操作方法大全(含实例)
2014/03/12 Python
Python中将字典转换为列表的方法
2016/09/21 Python
Python将DataFrame的某一列作为index的方法
2018/04/08 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
python标记语句块使用方法总结
2019/08/05 Python
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
2014/04/28 面试题
文明餐桌行动实施方案
2014/02/19 职场文书
幼儿园大班评语大全
2014/04/17 职场文书
《菜园里》教学反思
2014/04/17 职场文书
我的长生果教学反思
2014/04/28 职场文书
工作说明书范文
2014/05/07 职场文书
学校运动会报道稿
2014/09/23 职场文书
党的群众路线调研报告
2014/11/03 职场文书
小孩不笨观后感
2015/06/03 职场文书
学校运动会简讯
2015/07/20 职场文书
银行工作心得体会范文
2016/01/23 职场文书
怎样写好工作计划
2019/04/10 职场文书
mysql查询结果实现多列拼接查询
2022/04/03 MySQL