循环结构中加入 else 语句的用法
循环的 else 子句只在循环运行完成后才会执行。也就是说,如果循环体根本不执行,就立即执行 else 内容,否则在最后一次迭代后执行。但是,如果先一步使用 break 语句终止了循环,else 子句将被跳过。
循环的 else 子句的首要用途是在数据循环迭代过早终止时,在代码中设置一些标志或条件,或者对这些标志和条件进行检查。
例如:
flag = False
for line in open("foo.txt"):
stripped = line.strip()
if not stripped:
flag = True
break
# 处理读出的行
...
if not flag:
raise RuntimeError("Missing section separator")
如果使用 else 子句,可以简化成这样:
for line in open("foo.txt"):
stripped = line.strip()
if not stripped:
break
# 处理读出的行
...
else:
raise RuntimeError("Missing section separator")