【问题标题】:Why does `return(val)` work the same as `return val` in Python 3? [duplicate]为什么 `return(val)` 与 Python 3 中的 `return val` 工作方式相同? [复制]
【发布时间】:2019-11-06 09:22:20
【问题描述】:

这是我刚刚注意到的,但在 PEP、API 或示例中找不到任何信息。我们都知道 print 在 Python 3 中更改为 print(),但我一直看到 return 写成语句,而不是函数。但是,它的行为与函数完全相同。我可以看到这与 print 发生的变化之间的相似之处,print() 出现在 Python 3 的内置函数部分。但不是 return()

那么return() 函数是怎么回事?

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    这不是一个函数。这是一个带有不必要括号的语句。 (val) 表示val,所以return (val)return val 相同。

    return(val),让它看起来像一个函数,只是不好的风格。

    【讨论】:

    • 我同意,声明不起作用。写return() 使它看起来像一个函数,并且正式错误。完全同意。但是我在查看代码时发现有人将 return 语句编写为函数,并且无法相信没有抛出任何错误。
    【解决方案2】:

    将其处理为:

    return (val)
    

    作为带有成对括号的数字,不是函数,而是

    >>> val = 10
    >>> (val)
    10
    >>> 
    

    (val) 没有改变任何东西,它所做的只是将它保留为一个数字,所以它以:

    return val
    

    和其他的一样

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-24
      • 1970-01-01
      • 2012-11-04
      • 2014-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多