首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用if-return-return还是if-else-return更有效?

使用if-return-return还是if-else-return更有效?
EN

Stack Overflow用户
提问于 2012-02-08 18:20:53
回答 9查看 299.2K关注 0票数 192

假设我有一个带有returnif语句。从效率的角度来看,我应该使用

代码语言:javascript
复制
if(A > B):
    return A+1
return A-1

代码语言:javascript
复制
if(A > B):
    return A+1
else:
    return A-1

在使用编译语言(C)或脚本语言(Python)时,我应该选择其中之一吗?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2012-02-08 18:25:57

因为return语句终止了当前函数的执行,所以这两种形式是等价的(尽管可以说第二种形式比第一种形式更具可读性)。

这两种形式的效率是相当的,如果if条件为false,底层机器代码必须执行跳转。

请注意,Python支持的语法允许您在本例中仅使用一条return语句:

代码语言:javascript
复制
return A+1 if A > B else A-1
票数 248
EN

Stack Overflow用户

发布于 2015-01-31 18:20:36

来自Chromium's样式指南:

返回后不要使用else:

代码语言:javascript
复制
# Bad
if (foo)
  return 1
else
  return 2

# Good
if (foo)
  return 1
return 2

return 1 if foo else 2
票数 49
EN

Stack Overflow用户

发布于 2018-11-27 07:21:52

我个人尽量避免使用else块。请参阅Anti-if Campaign

此外,他们不收取‘额外’的线路,你知道:

"Simple is better than complex" &“可读性为王”

代码语言:javascript
复制
delta = 1 if (A > B) else -1
return A + delta
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9191388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档