首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跳过"return None“可以吗?

跳过"return None“可以吗?
EN

Stack Overflow用户
提问于 2010-10-27 04:12:38
回答 7查看 34.2K关注 0票数 52

我想知道在不需要return None的时候跳过它是不是不好的方式。

示例:

代码语言:javascript
复制
def foo1(x):
    if [some condition]:
        return Baz(x)
    else:
        return None

def foo2(x):
    if [some condition]:
        return Baz(x)

bar1 = foo1(x)
bar2 = foo2(x)

在这两种情况下,当condition为false时,function将返回None

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-10-27 04:17:42

就像你说的,(几乎)从来不需要return None

但是您应该考虑到,使用显式的return None,您的代码的意图要清晰得多。记住:一段代码也需要是人类可读的,而显式通常是有帮助的。

票数 71
EN

Stack Overflow用户

发布于 2010-10-27 04:51:45

为了解释别人所说的话,如果函数应该返回一个值,我就使用return None。在Python中,所有函数都返回值,但我们编写的函数通常只返回None,因为它们的返回值被忽略了。在某些语言中,这些被称为过程。

因此,如果一个函数应该返回值,那么我要确保所有代码路径都有一个返回值,并且该返回值也有一个值,即使它是None。

如果一个函数“没有”返回值,也就是说,如果从来没有人使用它的返回值来调用它,那么结束时不返回也没问题,如果我需要提前返回,我会使用最简单的形式,return

票数 26
EN

Stack Overflow用户

发布于 2010-10-27 04:15:45

是和否。

在最简单的情况下,可以跳过 "return None“,因为它只在一个负的条件下返回None。

但是,如果有嵌套的条件计算和多个场景,其中一个函数可能返回None。我倾向于将它们包含在场景的可视化文档中。

编辑:基于下面的评论

返回或返回None

我更喜欢"return None“而不是" return ",因为它是显式的,后来,没有人会怀疑return是否意味着返回None,或者它是一个错误,因为缺少一些东西。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4027586

复制
相关文章

相似问题

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