意义
意义就是:在非正常情况下退出循环(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中的异常