Python循环语句中else的用法总结
前言
本文讨论Python的for…else和while…else等语法,这些是Python中最不常用、最为误解的语法特性之一。
Python中的for、while等循环都有一个可选的else分支(类似if语句和try语句那样),在循环迭代正常完成之后执行。换句话说,如果我们不是以除正常方式以外的其他任意方式退出循环,那么else分支将被执行。也就是在循环体内没有break语句、没有return语句,或者没有异常出现。
下面我们来看看详细的使用实例。
一、常规的ifelse用法
x=True ifx: print'xistrue' else: print'xisnottrue'
二、ifelse快捷用法
这里的ifelse可以作为三元操作符使用。
mark=40 is_pass=Trueifmark>=50elseFalse print"Pass?"+str(is_pass)
三、与for关键字一起用
在满足以下情况的时候,else下的代码块会被执行:
1、for循环里的语句执行完成
2、for循环里的语句没有被break语句打断
#打印`Forloopcompletedtheexecution` foriinrange(10): printi else: print'Forloopcompletedtheexecution' #不打印`Forloopcompletedtheexecution` foriinrange(10): printi ifi==5: break else: print'Forloopcompletedtheexecution'
四、与while关键字一起用
和上面类似,在满足以下情况的时候,else下的代码块会被执行:
1、while循环里的语句执行完成
2、while循环里的语句没有被break语句打断
#打印`Whileloopexecutioncompleted` a=0 loop=0 whilea<=10: printa loop+=1 a+=1 else: print"Whileloopexecutioncompleted" #不打印`Whileloopexecutioncompleted` a=50 loop=0 whilea>10: printa ifloop==5: break a+=1 loop+=1 else: print"Whileloopexecutioncompleted"
五、与tryexcept一起用
和tryexcept一起使用时,如果不抛出异常,else里的语句就能被执行。
file_name="result.txt" try: f=open(file_name,'r') exceptIOError: print'cannotopen',file_name else: #Executesonlyiffileopenedproperly printfile_name,'has',len(f.readlines()),'lines' f.close()
总结
关于Python中循环语句中else的用法总结到这就基本结束了,这篇文章对于大家学习或者使用Python还是具有一定的参考借鉴价值的,希望对大家能有所帮助,如果有疑问大家可以留言交流。