我时常会再次回答这个问题。对此有一个普遍的答案吗?
如果有一个 if-else 结构,并且 if 部分有 continue
, break
或return
其中,后面是否应该跟着 else
出于可读性还是某些原因?
if v == 0:
continue # / break / return
else: # is this necessary?
...
最佳答案
从语义上讲,不需要将 ...
放在 else
子句中。无论您是否这样做,很大程度上取决于个人喜好。
当我考虑如何构建这样的代码时,存在一些相互竞争的考虑因素。一方面,我喜欢将嵌套级别的数量保持在最低限度。另一方面,我尝试适度使用 break
和 continue
,因为在我看来,它们使控制流程变得更难以遵循。
出于这些原因,我几乎永远不会使用您问题中显示的表格。相反,我会写
if v == 0:
continue
# ...
或
if v != 0:
# ...
相比前者,我通常更喜欢后者。选择很大程度上取决于 # ...
block 中有多少代码(根据经验,我会尽量保持最少)。
关于python - else 在继续、中断或返回之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22349258/