浅析Python中else语句块的使用技巧


Posted in Python onJune 16, 2016

学过C/C++的都知道,else语句是和if语句搭配使用的,但是在Python中,else语句更像是作为一个模块,不仅仅可以和if语句搭配,还可以和循环语句,异常处理语句搭配使用。

下面逐个进行介绍:

<1> if 语句

条件表达式为真的时候,执行代码块1,否则执行代码块2. (其实就是一个二选一的问题,必然有一个执行)

浅析Python中else语句块的使用技巧

Python中if...else...的扩展模式:多个if条件判断,如下图所示:整个代码块的执行,是顺着某些箭头方向走到结束(图中的黑点)。

这里需要注意的是,表达式1,2,3是有优先级的,优先级由高到低。所以对于某些应用,把出现概率高的条件判断放在前面判断,效率会比较高。

比如:班级的成绩分布80~60区间的人数概率较高,如果要给班级同学成绩分ABCD等级,应该把概率高的区间先判断。

浅析Python中else语句块的使用技巧

<2>while ,for 循环语句

Python中的循环语句(无论是while 还是for)中,经常配合continue和break语句,两者的区别这里不做介绍。

另外还可以和else语句块搭配,当循环正常结束的时候才会执行一遍else语句块;如果是非正常结束的(例如break语句跳出,出现异常等情况),则不会执行else语句块。

#求最大公约数
def get_max_factor(arg):
  cnt = arg/2
  while cnt > 1:
    if arg%cnt == 0:
      print "Max factor of %s is %s"%(arg,cnt)
      break
    cnt -= 1
  else:
    print "%s is prime."%arg
if __name__ == "__main__":
  for i in range(10,20):
    get_max_factor(i)

##########结果############
Max factor of 10 is 5
11 is prime.
Max factor of 12 is 6
13 is prime.
Max factor of 14 is 7
Max factor of 15 is 5
Max factor of 16 is 8
17 is prime.
Max factor of 18 is 9
19 is prime.

以上代码,当循环正常退出,即arg不会被2~arg/2间的任意整数整除的时候,才会执行else语句块。这也说明了arg是一个素数。

<3>try:....esle:.....

以上所述是小编给大家介绍的Python中else语句块的使用技巧的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python读文件逐行处理的示例代码分享
Dec 27 Python
分析python服务器拒绝服务攻击代码
Jan 16 Python
python将MongoDB里的ObjectId转换为时间戳的方法
Mar 13 Python
详解Python中的from..import绝对导入语句
Jun 21 Python
使用python在本地电脑上快速处理数据
Jun 22 Python
Pycharm更换python解释器的方法
Oct 29 Python
python常用库之NumPy和sklearn入门
Jul 11 Python
Python实现计算长方形面积(带参数函数demo)
Jan 18 Python
Python切割图片成九宫格的示例代码
Mar 10 Python
Python文件时间操作步骤代码详解
Apr 13 Python
如何利用python 读取配置文件
Jan 06 Python
pytorch实现线性回归以及多元回归
Apr 11 Python
python基础教程之分支、循环简单用法
Jun 16 #Python
python3音乐播放器简单实现代码
Apr 20 #Python
使用python3.5仿微软记事本notepad
Jun 15 #Python
python3.5仿微软计算器程序
Mar 30 #Python
Python的Asyncore异步Socket模块及实现端口转发的例子
Jun 14 #Python
Python实现TCP/IP协议下的端口转发及重定向示例
Jun 14 #Python
Python实现TCP协议下的端口映射功能的脚本程序示例
Jun 14 #Python
You might like
PHP session会话的安全性分析
2011/09/08 PHP
处理单名多值表单的详解
2013/06/08 PHP
php在数据库抽象层简单使用PDO的方法
2015/11/03 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
Laravel如何同时连接多个数据库详解
2019/08/13 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
jQuery ready函数滥用分析
2011/02/16 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
使用jQuery设置disabled属性与移除disabled属性
2014/08/21 Javascript
JavaScript随机生成信用卡卡号的方法
2015/04/07 Javascript
javascript通过元素id和name直接取得元素的方法
2015/04/28 Javascript
js实现的早期滑动门菜单效果代码
2015/08/27 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
2016/06/08 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
2016/12/14 Javascript
如何手写简易的 Vue Router
2020/10/10 Javascript
[57:22]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第五场
2018/04/10 DOTA
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
pymssql ntext字段调用问题解决方法
2008/12/17 Python
python中使用urllib2伪造HTTP报头的2个方法
2014/07/07 Python
使用python实现个性化词云的方法
2017/06/16 Python
django 2.0更新的10条注意事项总结
2018/01/05 Python
python构建深度神经网络(续)
2018/03/10 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
HTML5样式控制示例代码
2013/11/27 HTML / CSS
洲际酒店集团大中华区:IHG中国
2016/08/17 全球购物
森林防火工作方案
2014/02/14 职场文书
企业理念标语
2014/06/09 职场文书
质量管理标语
2014/06/12 职场文书
学习党章的体会
2014/11/07 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
python爬虫框架feapde的使用简介
2021/04/20 Python
关于golang高并发的实现与注意事项说明
2021/05/08 Golang
聊聊基于pytorch实现Resnet对本地数据集的训练问题
2022/03/25 Python
Redis+AOP+自定义注解实现限流
2022/06/28 Redis