【问题标题】: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”;)

标签: python conventions coding-style


【解决方案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 关键字用于从函数返回任何内容并返回函数调用发生的位置。否则没用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-09-01
        • 1970-01-01
        • 2021-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多