这两种模式产生相同的结果。使用哪一个是否重要?为什么呢?
我更喜欢第二种,它的压痕更少,对我来说看起来更干净,但我还没有看到它用得太多(在我曾经去过的地方)。如果出于某种原因感到不适,我不想满足于某些事情并全部使用它。
如果... ELSE
if not packages:
help('download')
else:
for p in packages:
do_download(p)
verify_md5(p)
etc(p)
如果... RETURN; IMPLICIT ELSE
if not packages:
help('download')
return
for p in packages:
do_download(p)
verify_md5(p)
etc(p)
答案 0 :(得分:6)
Flat比嵌套好。
所以第二种方法更像是Pythonic。
我个人觉得扁平代码比嵌套代码更容易阅读,并且不易出错(例如,else
语句没有正确排列可能很难调试。当然,这些都是主观判断。
答案 1 :(得分:6)
这是一种风格的东西......但我总是喜欢使用else
。正如您在问题标题中明确指出的那样,没有else
使其隐含,我强烈相信易于阅读和理解的显式代码。
Explicit is better than implicit.