python - else 在继续、中断或返回之后

标签 python if-statement return break continue

我时常会再次回答这个问题。对此有一个普遍的答案吗?

如果有一个 if-else 结构,并且 if 部分有 continue , breakreturn其中,后面是否应该跟着 else出于可读性还是某些原因?

if v == 0:
    continue # / break / return
else: # is this necessary?
    ...

最佳答案

从语义上讲,不需要将 ... 放在 else 子句中。无论您是否这样做,很大程度上取决于个人喜好。

当我考虑如何构建这样的代码时,存在一些相互竞争的考虑因素。一方面,我喜欢将嵌套级别的数量保持在最低限度。另一方面,我尝试适度使用 breakcontinue,因为在我看来,它们使控制流程变得更难以遵循。

出于这些原因,我几乎永远不会使用您问题中显示的表格。相反,我会写

if v == 0:
  continue
# ...

if v != 0:
  # ...

相比前者,我通常更喜欢后者。选择很大程度上取决于 # ... block 中有多少代码(根据经验,我会尽量保持最少)。

关于python - else 在继续、中断或返回之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22349258/

相关文章:

r - 在不使用 R 中的任何控制语句的情况下检查条件的任何可能方法

python - python中if多个条件的简化

java - "if(<an integer> & 2)"是什么意思?

java - 如何在Java中对 "either or"类的返回类型进行建模?

java - Netbeans 给我一条错误消息,但它按我想要的方式工作

python - merge 期间在 Git 中集成缩进和内容更改 : Best practices?

python - 休眠(S4)(或断开连接)后如何重新连接 MS SQL?

python - 使用 matplotlib 的 savefig 保存从 python pandas 生成的图(AxesSubPlot)

找到时无法返回树节点

python - 当某些文本在 python 3 前面时如何打印文本进度条?