在for带有语句的循环中,break我可以在末尾添加一个语句,如果我的循环从未命中语句else,它将被触发。forbreak我的问题是,这有continue什么影响?
2 回答
慕斯王
TA贡献1864条经验 获得超2个赞
continue
不影响else:
条款。else
如果循环正常终止,即如果 a StopIteration
(隐式)由迭代器引发,则运行该子句。
该continue
语句对特定的迭代没有任何作用,但是它不会阻止迭代器被耗尽。
慕哥9229398
TA贡献1877条经验 获得超6个赞
不,else子句执行不受continue.
唯一可以防止else语句(在 for 循环之后)被触发的是break语句(或者您的代码在完成循环return之前退出或引发异常)。for
for i in range(5):
continue
else:
print("else triggered")
将打印else triggered。
请参阅文档:
循环语句可能有一个else子句;它在循环因列表用尽而终止(with for)或条件变为 false 时(with while)执行,但不是在循环被break语句终止时执行
[...]
当与循环一起使用时,子句与语句的子句比与语句的子句有else更多的共同点:语句的子句在没有异常发生时运行,而循环的子句在没有异常时运行。elsetryiftryelseelsebreak
仅break提到防止else子句运行,continue不是。
添加回答
举报
0/150
提交
取消