Python中的else语句整理


Python是一种面向对象、直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行。目前,基于这种语言的相关技术正在飞速的发展,用户数量急剧扩大,相关的资源非常多。下面为大家总结Python中的else语句。

if-else语句:

和各种语言相同的用法,在条件语句中,与if语句搭配使用的else语句。如果if语句的条件表达式的结果布尔值为假,那么程序将执行else语句后的代码。它的语法是大家最为熟知的:

Python代码 

  1. if expression:  
  2. expr_true_suite  
  3. else:  
  4. expr_false_suite 

elifelse-if)语句:

elif是python提供的else-if语句,它检查多个条件表达式的值是否为真,并在为真时执行特定代码块中的代码。和else一样,elif是可选的,但是要注意的是,一个if语句可以跟多个elif语句,但最后只能有一个else语句:

Python代码 

  1. if expression1:  
  2. expr1_true_suite  
  3. elif expression2:  
  4. expr2_true_suite  
  5. elif expressionN:  
  6. exprN_true_suite  
  7. else:  
  8. none_of_the_above_suite 

while-else/for-else语句:

在其他语言中,除了条件语句,是不会见到else分支的,但在Python中,while和for循环中,也是可以使用else语句的。它们的工作顺序为:在循环中使用时,else语句只在循环完成后执行,也就是说,break语句也会跳过else代码块,只要循环是正常结束,而不是通过break,else语句就会执行。

while-else举例:

Python代码 

  1. #!/usr/bin/env python  
  2. # 寻找最大约数  
  3. def showMaxFactor(num):  
  4. count=num/2 
  5. while count>1:  
  6. if num%count == 0:  
  7. print 'largest factor of %d is %d' % (num,count)  
  8. break 
  9. count -=1 
  10. else:  
  11. print num,'is prime' 
  12. for i in range(10,21):  
  13. showMaxFactor(i)  

程序的执行结果为:

largest factor of 10 is 5

11 is prime

largest factor of 12 is 6

13 is prime

largest factor of 14 is 7

largest factor of 15 is 5

largest factor of 16 is 8

17 is prime

largest factor of 18 is 9

19 is prime

largest factor of 20 is 10

try-else语句:

对于python中的错误和异常,try-except语句段,也可以和else连用,其功能和循环中的else语句没有多大区别:在try范围内没有检测到异常的时候,执行else子句。看一下语法:

Python代码

  1. try:  
  2. log = open('logfile.txt','w')  
  3. except:  
  4. print 'file logfile.txt is not exsit' 
  5. else:  
  6. log.write('no exception caught')  
  7. log.close()  

当然,在异常处理中,else一样可以和finally联用:try-except-else-finally。

评论关闭