假设我有一个带有return的if语句。从效率的角度来看,我应该使用
if(A > B):
return A+1
return A-1或
if(A > B):
return A+1
else:
return A-1在使用编译语言(C)或脚本语言(Python)时,我应该选择其中之一吗?
发布于 2012-02-08 18:25:57
因为return语句终止了当前函数的执行,所以这两种形式是等价的(尽管可以说第二种形式比第一种形式更具可读性)。
这两种形式的效率是相当的,如果if条件为false,底层机器代码必须执行跳转。
请注意,Python支持的语法允许您在本例中仅使用一条return语句:
return A+1 if A > B else A-1发布于 2015-01-31 18:20:36
来自Chromium's样式指南:
返回后不要使用else:
# Bad
if (foo)
return 1
else
return 2
# Good
if (foo)
return 1
return 2
return 1 if foo else 2发布于 2018-11-27 07:21:52
我个人尽量避免使用else块。请参阅Anti-if Campaign
此外,他们不收取‘额外’的线路,你知道:
"Simple is better than complex" &“可读性为王”
delta = 1 if (A > B) else -1
return A + deltahttps://stackoverflow.com/questions/9191388
复制相似问题