非返回函数需要返回关键字吗?

时间:2016-01-24 19:07:39

标签: python-3.x

我看到一些例子,其中return是函数中最后一个不返回任何内容的语句。这是否需要Python 3.x?

def myfunc():
  result = 1 + 1
  return

3 个答案:

答案 0 :(得分:1)

返回语句不是必需的,如果函数退出而没有任何return语句,则返回None

证明:

引用官方文档,即CallsThe return statement

关于退货:

  

return将当前函数调用与表达式列表(或None)一起作为返回值。

关于来电:

  

调用始终返回一些值,可能是None ,除非它引发异常。如何计算此值取决于可调用对象的类型。

     

如果是用户定义的函数:

     

执行函数的代码块,并将参数列表传递给它。代码块首先要做的是将形式参数绑定到参数;这在功能定义一节中描述。 当代码块执行return语句时,它指定函数调用的返回值。

正如我们可以从文档中得出的结论 - 除非执行显式None语句,否则所有函数都会隐式返回return

答案 1 :(得分:0)

如果函数中的最后一个语句是return,那么return是一个值。如果没有return语句,则不会return任何内容。

答案 2 :(得分:0)

正如其他人所说,“不”。对于改变输入或导致副作用的函数,应省略returnreturn None,除非提前退出,在这种情况下我将使用return。但是,我可以在这里使用return None

def pos(x):
    if x > 0:
        return x
    else:
        return None

这可以简化为:

def pos(x):
    return x if x > 0 else None
相关问题