if-elif-else语句相对于if-else语句优势明显,可以实现更为复杂的功能 。使用if-elif-else语句实现年龄段的判断,如代码清单③所示 。
- 代码清单③ 使用if-elif-else语句实现年龄段的判断
需要说明,if语句还有一种形式是if-if-else,这一形式中的if可以有多个,从而实现多分支 。与if-elif-else语句相比,差异不仅仅存在于形式上,性能上也同样有区别,使用多个if的效率更低,它实际上是多重if语句 。
if语句支持嵌套,即在一个if语句中嵌入另一个if语句,从而构成不同层次的选择结构 。嵌套的意义在于实现多层选择结构 。使用嵌套对条件语句的功能有升华作用,这与elif是相似的,elif将有限的条件分支扩展,嵌套则提供了建立多层选择结构的工具,两者分别在不同的维度上提升了if语句的功能性 。使用嵌套需要以不同的缩进长度划分代码结构的层次,因此嵌套时要特别注意缩进的规范性 。
嵌套选择结构具有很广的应用场景,以下给出一个例子 。假设系统中存储了5个用户的身份信息,分别是:来自英国的Tom,35岁;来自法国的Frank,35岁;来自德国的Bob,35岁;来自澳大利亚的Washington,51岁;来自南非的Jane,21岁 。
设计一个程序,询问用户的部分信息,在对方不说出自己名字的情况下识别其身份,如代码清单④所示 。
- 代码清单④ 嵌套if-elif-else语句
使用if语句时,需要注意以下几点 。
- 条件判断语句应尽量简单,若语句复杂则应当将运算先放到一个变量中 。
- Python的条件语句中允许常用的数值比较运算(==,!=,>,>=,<,<=) 。
- Python允许无限次if语句嵌套,但实际编程中如果必须用到3级到4级嵌套,建议考虑用其他方法编写代码,嵌套超过两层会使程序的运行效率大打折扣 。
文章插图
02 try、except与else如果运行途中发生错误事件,程序的执行将中断,并创建异常对象 。异常是程序在正常流程控制以外采取的动作,当它被引发时,计算机将自动寻找异常处理程序,以帮助程序恢复正常运行 。
要保证程序的正常运行,就需要排除错误,错误要么是语法上的,要么是逻辑上的 。语法错误的出现表明程序在结构上出现了问题,可以在程序执行前加以纠正 。逻辑错误可能是缺少输入或输入不正确,某些情况下,也可能是根据输入无法生成预期的结果 。逻辑错误难以预防,必须使用异常处理程序来应对 。
计算机语言针对可能出现的错误定义了异常类型,某种错误引发对应的异常时,异常处理程序将被启动,从而恢复程序的正常运行 。Python中定义的异常类型大致分为数值计算错误、操作系统错误、无效数据查询、Unicode相关的错误和警告等几类,如下所示 。
Python异常类:
- BaseException:所有异常的基类
- Exception:常规异常的基类
推荐阅读
- 带你了解分布式架构的前世今生
- Facebook 如何在一亿行代码中迅速找到缺陷?
- 破防了!带你穿越时空,回看峨眉山百年身影
- TCP粘拆包详解与Netty代码示例
- 解决Tomcat启动慢的问题,只需一行代码
- 带你领略布朗族的食茶与药茶
- 带你走进明清茶文化
- 带你领略中原茶俗
- 带你穿越到唐朝 看看古人是如何制茶的
- 带你走进潮汕工夫茶