我想知道在不需要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)在这两种情况下,当condition为false时,function将返回None。
发布于 2010-10-27 04:17:42
就像你说的,(几乎)从来不需要return None。
但是您应该考虑到,使用显式的return None,您的代码的意图要清晰得多。记住:一段代码也需要是人类可读的,而显式通常是有帮助的。
发布于 2010-10-27 04:51:45
为了解释别人所说的话,如果函数应该返回一个值,我就使用return None。在Python中,所有函数都返回值,但我们编写的函数通常只返回None,因为它们的返回值被忽略了。在某些语言中,这些被称为过程。
因此,如果一个函数应该返回值,那么我要确保所有代码路径都有一个返回值,并且该返回值也有一个值,即使它是None。
如果一个函数“没有”返回值,也就是说,如果从来没有人使用它的返回值来调用它,那么结束时不返回也没问题,如果我需要提前返回,我会使用最简单的形式,return。
发布于 2010-10-27 04:15:45
是和否。
在最简单的情况下,可以跳过 "return None“,因为它只在一个负的条件下返回None。
但是,如果有嵌套的条件计算和多个场景,其中一个函数可能返回None。我倾向于将它们包含在场景的可视化文档中。
编辑:基于下面的评论
返回或返回None
我更喜欢"return None“而不是" return ",因为它是显式的,后来,没有人会怀疑return是否意味着返回None,或者它是一个错误,因为缺少一些东西。
https://stackoverflow.com/questions/4027586
复制相似问题