根据 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”语句 [重复]的主要内容,如果未能解决你的问题,请参考以下文章