Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在Python3中'return(val)`与'return val'的工作原理相同?_Python_Python 3.x - Fatal编程技术网

为什么在Python3中'return(val)`与'return val'的工作原理相同?

为什么在Python3中'return(val)`与'return val'的工作原理相同?,python,python-3.x,Python,Python 3.x,这是我刚刚注意到的,但在PEP、API或示例中找不到任何信息。我们都知道print在Python3中被改为print,但我一直看到return是作为语句而不是函数编写的。但是,它的行为与函数完全相同。我可以看到这与print发生的变化之间的相似性,print显示在python3的内置函数部分。但不会回来 那么返回函数是怎么回事呢?它不是一个函数。这是一个带有不必要括号的语句。val表示val,因此return val与return val相同 编写returnval使其看起来像一个函数,这是一种

这是我刚刚注意到的,但在PEP、API或示例中找不到任何信息。我们都知道print在Python3中被改为print,但我一直看到return是作为语句而不是函数编写的。但是,它的行为与函数完全相同。我可以看到这与print发生的变化之间的相似性,print显示在python3的内置函数部分。但不会回来


那么返回函数是怎么回事呢?

它不是一个函数。这是一个带有不必要括号的语句。val表示val,因此return val与return val相同

编写returnval使其看起来像一个函数,这是一种糟糕的风格。

它将其处理为:

return (val)
作为带成对括号的数字,不是函数,而是

>>> val = 10
>>> (val)
10
>>> 
val并没有改变任何东西,它所做的唯一一件事就是将其保留为一个数字,因此它以:

return val

这与另一个相同

我同意,声明不起作用。编写return使它看起来像一个函数,这是错误的。完全同意。但我在查看代码时发现有人将返回语句作为函数编写,我不相信没有抛出错误。