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批量下载图片的三种方法
Apr 22 Python
使用SAE部署Python运行环境的教程
May 05 Python
Python中的默认参数详解
Jun 24 Python
Python实现统计代码行的方法分析
Jul 12 Python
Python内置函数—vars的具体使用方法
Dec 04 Python
TensorFlow实现非线性支持向量机的实现方法
Apr 28 Python
python获取代理IP的实例分享
May 07 Python
python中的decorator的作用详解
Jul 26 Python
在Python 字典中一键对应多个值的实例
Feb 03 Python
检测python爬虫时是否代理ip伪装成功的方法
Jul 12 Python
Python的对象传递与Copy函数使用详解
Dec 26 Python
python实现手机推送 代码也就10行左右
Apr 12 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
MySQL数据源表结构图示
2008/06/05 PHP
php Hex RGB颜色值互换的使用
2013/05/10 PHP
CI框架安全类Security.php源码分析
2014/11/04 PHP
PHP 传输会话curl函数的实例详解
2017/09/12 PHP
PHP使用Nginx实现反向代理
2017/09/20 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
2018/01/15 PHP
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
jquery实现限制textarea输入字数的方法
2017/09/06 jQuery
js使用swiper实现层叠轮播效果实例代码
2018/12/12 Javascript
node中IO以及定时器优先级详解
2019/05/10 Javascript
使用JQuery自动完成插件Auto Complete详解
2019/06/18 jQuery
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
Python中的元类编程入门指引
2015/04/15 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
Python UnboundLocalError和NameError错误根源案例解析
2018/10/31 Python
numpy concatenate数组拼接方法示例介绍
2019/05/27 Python
Python Collatz序列实现过程解析
2019/10/12 Python
python 等差数列末项计算方式
2020/05/03 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
html5 button autofocus 属性介绍及应用
2013/01/04 HTML / CSS
英国床垫在线:Mattress Online
2016/12/07 全球购物
aden + anais官方网站:婴儿襁褓、毯子、尿布和服装
2017/06/21 全球购物
Levi’s西班牙官方网站:李维斯,著名的牛仔裤品牌
2020/08/20 全球购物
android面试问题与答案
2016/12/27 面试题
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
2013/06/16 面试题
大学毕业通用个人的求职信
2013/12/08 职场文书
培训心得体会
2013/12/29 职场文书
运动会开幕式解说词
2014/02/05 职场文书
大学生职业规划书的范本
2014/02/18 职场文书
信息服务专业毕业生求职信
2014/03/02 职场文书
员工试用期考核自我鉴定
2014/04/13 职场文书
《观舞记》教学反思
2014/04/16 职场文书
槐乡的孩子教学反思
2014/04/27 职场文书