根据Python标准,如果函数不返回任何内容,我们是否需要`return`语句?

时间:2019-03-14 11:53:50

标签: python conventions coding-style

我对函数的返回语句有疑问。 python标准是否说如果不返回任何内容,则该函数具有return语句。没有什么可以停止写或不写回报,而是需要知道什么可以编写出好的代码

下面是示例代码

def test():
   print("Hello")
   return

def test():
    print("Hello")

哪种方法在Python中更常规?

3 个答案:

答案 0 :(得分:2)

根据PEP 8 - Style Guide for Python code,一致性是关键-当其他代码路径(例如None分支)返回任何内容时,您应该在函数中显式返回if

  

在return语句中保持一致。函数中的所有return语句应返回一个表达式,或者都不返回。如果任何return语句返回一个表达式,则不返回任何值的任何return语句应将其显式声明为return None,并且在函数的末尾(如果可以访问)应该存在显式return语句。

因此,在您的情况下,您应该具有:

def test():
    print("Hello")

或者,如果您向此函数添加更多功能并返回某些内容,则应该具有:

def test(foo):
  if foo is not None:
    print("Hello")
    return foo
  return None

答案 1 :(得分:1)

如果您不返回任何内容,则默认情况下将默认返回None,但是该值并不意味着被捕获。 你可以在这里阅读它 return, return None, and no return at all?

答案 2 :(得分:0)

return关键字在您从函数返回任何内容时使用,并且它返回发生函数调用的位置。否则它就没用了。