我在Python文档中找到了this:
continue
只能在语法上嵌套在for
或while
循环中, 但不嵌套在函数或类定义或finally
子句中 在那个循环中。它继续下一个最近的循环 封闭循环。
因为continue
- 没有为with
- 语句做出指示:除了适当地重构代码之外,还有其他选择吗?
示例代码(我希望它的工作方式):
with open("test.txt", "r") as f:
if someConditionNotMet(f):
continue # "exit" with-statement
# do lots of stuff
当然我可以在# do lots of stuff
- 分支中编写else
- 代码,但是,如果已经有两个或三个嵌套if
,这只会使代码的可读性降低 - else
- 分支。在一个函数中,我可以简单地使用return
并在while
- 或for
- 循环前面提到的continue
。在Python的continue
- 语句中是否等同于with
?
好吧,您也可以在上面的文本中用continue
替换break
,逻辑上它在with
语句中是相同的,因为其中的代码只执行一次,无论如何......(但break
仅适用于for
- 和while
- 循环。