跳过“不返回”可以吗?

2024-03-29 14:29:11 发布

您现在位置:Python中文网/ 问答频道 /正文

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

示例:

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)

在这两种情况下,当条件为false时,函数将返回None


Tags: none示例returnifdef方式情况some
3条回答

是和不是

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

但如果存在嵌套条件求值和多个函数不能返回任何值的情况。我倾向于将它们作为场景的可视化文档来包含。

[编辑:基于以下评论]

return or return None

我更喜欢“return None”而不是光秃秃的“return”因为它是显式的,稍后,没有人会怀疑返回是否意味着不返回,或者是因为缺少了什么而出错。

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

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

如果一个函数“不”返回一个值,也就是说,如果它从来没有被使用它的返回值的人调用过,那么结束时不返回是可以的,如果我需要提前返回,我使用的是空表单,return

就像你说的,return None几乎不需要。

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

相关问题 更多 >