13518219792

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

while、for、tryexcept语句中的else

 Python中的else是基础的语句,它的两种使用形式是: 

创新互联是一家业务范围包括IDC托管业务,网页空间、主机租用、主机托管,四川、重庆、广东电信服务器租用,遂宁服务器托管,成都网通服务器托管,成都服务器租用,业务范围遍及中国大陆、港澳台以及欧美等多个国家及地区的互联网数据服务公司。

 
 
 
  1. if condition:  
  2.     doSomeThings  
  3. else:  
  4.     doAnthorThings 

以及 

 
 
 
  1. if condition1:  
  2.     do1  
  3. elif condition2:  
  4.     do2  
  5. else:  
  6.     doOtherThings 

这两个用法理解起来没有问题。下面要看的是for,while循环和try异常处理语句中的else的用法。

一、for,while循环中的else

for,while循环中,else用于循环正常结束,且循环体中没有break、return和异常抛出,则执行else语句块中的内容。 例如,我们判断列表ls中是否全是奇数。普通情况下,需要引入一个标志变量allOdd,指示所有变量都是奇数,有偶数出现则将此变量设为False。写法如下: 

 
 
 
  1. ls = [1, 3, 5, 7, 9]  
  2. allOdd = True  
  3. for i in ls:  
  4.     if i % 2 == 0:  
  5.         allOdd = False  
  6.         break  
  7. if allOdd:  
  8.     print('list ls %r constructed by only odd number' % ls)  
  9. else:  
  10.     print('list ls %r ** is\'t ** constructed by only odd number' % ls) 

利用else指示循环正常结束的功能,采用for循环或者while循环加else的写法如下: 

 
 
 
  1. for i in ls:  
  2.     if i %2 == 0:  
  3.         print('list ls %r ** is\'t ** constructed by only odd number' % ls)  
  4.         break  
  5. else:  
  6.     print('list ls %r constructed by only odd number' % ls) 

可见,for循环使用else语句之后,节省了指示性变量allOdd,以及相应的处理语句。整个程序语义上更简洁、逻辑上更顺畅。

二、try异常处理语句中的else

try except异常捕获处理语句中,else定义用于没有异常出现时执行的部分。 例如,当我们处理有可能导致异常的计算时,else语句定义的部分,可以确保没有异常发生,得到了正确计算结果。例子是计算简单的除法。普通写法: 

 
 
 
  1. try:  
  2.     result = a/b  
  3.     print(result)  
  4. except TypeError:  
  5.     print('输入数字')  
  6. except ZeroDivisionError:  
  7.     print('被除数不能为零') 

采用else语句时的写法: 

 
 
 
  1. try:  
  2.     result = a/b  
  3. except TypeError:  
  4.     print('输入数字')  
  5. except ZeroDivisionError:  
  6.     print('被除数不能为零')  
  7. else:   
  8.     print('计算结果%r'%result) 

也就是说,try except else finally分别对应如下关系:

else语句在try except句法中最主要的功能,是明确指出了没有异常出现时才执行的语句块。与出现异常,或者出现异常并且处理了这两种情况是分开的。这个语法块是在没有异常出现时执行的,保证了环境的正确性。

三、简单总结


网页名称:while、for、tryexcept语句中的else
本文链接:http://cdbrznjsb.com/article/cdoijgh.html

其他资讯

让你的专属顾问为你服务