python中循环语句配合else使用的意义(while else、try else语句也可参考本文)

意义

意义就是:在非正常情况下退出循环(break)的时候不会调用else里面的语句,会直接往后执行。从而确定了正常的时候该做什么事,不正常的时候又该做什么事。

代码片1没有break的时候语句执行完执行else内容

for i in range(10):
    if i == 5:
        print( 'found it! i = %d' % i)
    print(i)
else:
    print('循环执行完了,该执行我了')
print("正常的代码")
# 0
# 1
# 2
# 3
# 4
# found it! i = 5
# 5
# 6
# 7
# 8
# 9
# 循环执行完了,该执行我了
# 正常的代码

代码片2有break的时候不会执行else里面的代码

for i in range(10):
    if i == 5:
        print( 'found it! i = %d' % i)
        break
    print(i)
else:
    print('循环执行完了,该执行我了')
print("正常的代码")

# 0
# 1
# 2
# 3
# 4
# found it! i = 5
# 正常的代码

代码3有continue的时候仍会执行else里面的代码

for i in range(10):
    if i == 5:
        print( 'found it! i = %d' % i)
        continue
    print(i)
else:
    print('循环执行完了,该执行我了')
print("正常的代码")
# 0
# 1
# 2
# 3
# 4
# found it! i = 5
# 6
# 7
# 8
# 9
# 循环执行完了,该执行我了
# 正常的代码

代码4有raise直接pass后面除了异常语法外所有的语句

try:
	for i in range(10):
	    if i == 5:
	        print( 'found it! i = %d' % i)
	        raise Exception("主动抛出异常")
	    print(i)
	else:
	    print('循环执行完了,该执行我了')
	print("正常的代码")
except Exception as e:
	print(e)
# 0
# 1
# 2
# 3
# 4
# found it! i = 5
# 主动抛出异常

补充

  • break终止循环,continue终止本次循环。
  • 主动抛出异常最后打印出来的那个e。这个e其实就是实例化Exception这个类的一个对象。具体参考:python中的异常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值