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

时间:2021-08-24 01:43:57

学过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语句块。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#求最大公约数
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语句块的使用技巧的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!