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

yipeiwu_com5年前Python基础

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

下面逐个进行介绍:

<1> if 语句

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

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

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

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

<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编程中的文件读写及相关的文件对象方法讲解

python文件读写 python 进行文件读写的内建函数是open或file file_hander(文件句柄或者叫做对象)= open(filename,mode) mode: 模式...

python集合是否可变总结

集合是一个无序的可变的序列。集合中的元素必须是可hash的,即不可变的数据类型。 空集合 a=set() 注意a={}创建的是一个空字典。 set —— 可变集合。集合中的元素可以动态...

详解python之heapq模块及排序操作

说到排序,很多人可能第一想到的就是sorted,但是你可能不知道python中其实还有还就中方法哟,并且好多种场景下效率都会比sorted高。那么接下来我就依次来介绍我所知道的排序操作。...

python中defaultdict的用法详解

初识defaultdict 之前在使用字典的时候, 用的比较随意, 只是简单的使用dict. 然而这样在使用不存在的key的时候发生KeyError这样的一个报错, 这时候就该defa...

python实现动态数组的示例代码

实现一个支持动态扩容的数组并完成其增删改查 #通过python实现动态数组 """ 数组特点: 占用一段连续的内存空间,支持随机(索引)访问,且时间复杂度为O(1) 添加...