根据 Python 标准,如果函数不返回任何内容,我们是不是需要“return”语句 [重复]

Posted

技术标签:

【中文标题】根据 Python 标准,如果函数不返回任何内容,我们是不是需要“return”语句 [重复]【英文标题】:As per Python standards, do we need a `return` statement if function does not return anything [duplicate]根据 Python 标准,如果函数不返回任何内容,我们是否需要“return”语句 [重复] 【发布时间】:2019-08-05 07:26:36 【问题描述】:

我对函数的返回语句有疑问。如果函数不返回任何内容,python 标准是否说要有一个函数的 return 语句。没有什么是停下来写或不写返回,但需要知道什么是好的代码

下面是示例代码

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

def test():
    print("Hello")

在 Python 中哪种方法更传统?

【问题讨论】:

如果您的函数不应该返回任何内容,则不需要return 语句。你的第一个函数看起来很奇怪。 而且“pythogenic”并不是你想的那样。 @khelwood:也许我们应该使用“pythopathic”;) 【参考方案1】:

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

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

所以在你的情况下,你应该有:

def test():
    print("Hello")

或者,如果你向这个函数添加更多功能并返回一些东西,你应该有:

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

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

return 关键字用于从函数返回任何内容并返回函数调用发生的位置。否则没用。

【讨论】:

以上是关于根据 Python 标准,如果函数不返回任何内容,我们是不是需要“return”语句 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何创建不返回任何内容的函数

如果搜索参数为空白或缺失/错误,我如何使用 Xpath 函数“contains()”不返回任何内容?

python标准库内建函数

python编程基础之三十三

编写一个sort函数,它用于对任何类型的数组进行排序

执行没有响应的python函数 - Django [重复]