菜鸟问题我知道,但我需要确认一下,因为我经常遇到这种情况。如果您知道当前一个 block 为真时不会到达代码,那么使用 elif: 有什么意义吗?例如。
if foo:
return x
elif bar:
return y
应该只是:
if foo:
return x
if bar:
return y
请您参考如下方法:
我至少可以看到三个更喜欢 if/elif 的理由:
- 它让代码的读者清楚地知道作者打算让条件相互排斥
- 如果稍后重构代码,将早期返回更改为单个晚期返回,
if/elif的语义不会中断,但if/if可能 - 它使代码风格与您正在使用的其余代码库保持一致
至少有两个选择 if/if 的理由:
- 打字少
- 它使代码风格与您正在使用的其余代码库保持一致
也就是说,这里有一些推荐读物:
