Python中else语句整理

if-else语句:

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

if expression:
    expr_true_suite
else:
    expr_false_suite

 elif(else-if)语句:

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

 

if expression1:
    expr1_true_suite
elif expression2:
    expr2_true_suite
elif expressionN:
    exprN_true_suite
else:
    none_of_the_above_suite

 while-else/for-else语句:

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

while-else举例:

#!/usr/bin/env python
# 寻找最大约数

def showMaxFactor(num):
	count=num/2
	while count>1:
		if num%count == 0:
			print 'largest factor of %d is %d' % (num,count)
			break
		count -=1
	else:
		print num,'is prime'
		
for i in range(10,21):
	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子句。看一下语法:

 try:
     log = open('logfile.txt','w')
 except:
     print 'file logfile.txt is not exsit'
 else:
     log.write('no exception caught')
     log.close()

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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值