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字符串加密解密的三种方法分享(base64 win32com)
Jan 19 Python
Python实现基于HTTP文件传输实例
Nov 08 Python
解决Python 遍历字典时删除元素报异常的问题
Sep 11 Python
Python 多进程和数据传递的理解
Oct 09 Python
Python实现学生成绩管理系统
Apr 05 Python
Python实现的特征提取操作示例
Dec 03 Python
10 分钟快速入门 Python3的教程
Jan 29 Python
Python3.5装饰器典型案例分析
Apr 30 Python
python列表推导式操作解析
Nov 26 Python
python numpy生成等差数列、等比数列的实例
Feb 25 Python
详解Django中的FBV和CBV对比分析
Mar 01 Python
Flask response响应的具体使用
Jul 15 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生成不重复随机数的方法汇总
2014/11/19 PHP
PHP答题类应用接口实例
2015/02/09 PHP
WampServer搭建php环境时遇到的问题汇总
2015/07/23 PHP
wordpress网站转移到本地运行测试的方法
2017/03/15 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
JavaScript 学习笔记(十三)Dom创建表格
2010/01/21 Javascript
javascript简易缓动插件(源码打包)
2012/02/16 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
遍历json 对象的属性并且动态添加属性的实现
2016/12/02 Javascript
javascript验证香港身份证的格式或真实性
2017/02/07 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
Angular2使用Guard和Resolve进行验证和权限控制
2017/04/24 Javascript
JavaScript设置名字输入不合法的实现方法
2017/05/23 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
2017/08/17 jQuery
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
mock.js模拟前后台交互
2019/07/25 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
详解vite2.0配置学习(typescript版本)
2021/02/25 Javascript
[01:00:30]TFT vs VGJ.T Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
python 使用三引号时容易犯的小错误
2020/10/21 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
印度化妆品购物网站:Nykaa
2018/07/22 全球购物
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
机械制造与自动化应届生求职信
2013/11/16 职场文书
物业公司的岗位任命书
2014/06/06 职场文书
5.12护士节活动总结
2015/02/10 职场文书
花木兰观后感
2015/06/10 职场文书
初中军训感想
2015/08/07 职场文书
给领导敬酒词
2015/08/12 职场文书
我的暑假生活作文(五年级)范文
2019/08/07 职场文书
Pytorch数据读取之Dataset和DataLoader知识总结
2021/05/23 Python
nginx刷新页面出现404解决方案(亲测有效)
2022/03/18 Servers
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers