Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.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/7/sql-server/21.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
在python中递归调用同一函数时为什么要使用return_Python_Python 3.x_Algorithm_Python 2.7_Data Structures - Fatal编程技术网

在python中递归调用同一函数时为什么要使用return

在python中递归调用同一函数时为什么要使用return,python,python-3.x,algorithm,python-2.7,data-structures,Python,Python 3.x,Algorithm,Python 2.7,Data Structures,返回函数 def foo(n): print(n) foo(n-1) >>foo(5) >>5 >>1 这两个函数产生相同的结果。在这种情况下不使用return可以吗?这取决于您是只想打印输出,还是实际分配输出。如果您只想查看输出,只需打印就可以了,但是以后您将如何实际使用该输出呢?你可以复制粘贴它,但这似乎效率低下 然而,在您的情况下,看起来您只是想查看递归中每个调用的输出,在这种情况下,不需要分配它。在这种情况下,特别是在这种情况下,

返回函数

def foo(n):
    print(n)
    foo(n-1)
>>foo(5)
>>5


>>1

这两个函数产生相同的结果。在这种情况下不使用return可以吗?

这取决于您是只想打印输出,还是实际分配输出。如果您只想查看输出,只需打印就可以了,但是以后您将如何实际使用该输出呢?你可以复制粘贴它,但这似乎效率低下


然而,在您的情况下,看起来您只是想查看递归中每个调用的输出,在这种情况下,不需要分配它。

在这种情况下,特别是在这种情况下,这并不重要,就像在其他编程语言中生成递归void函数一样。

不,这些函数是不同的。一个只打印一个值,而另一个打印一个值并返回。它们都打印值,只有一个返回值。您发布的输出不是这些函数的输出。。。我想你忽略了一个
,而n>0
或者类似的东西。此外,未定义f,它应该是
returnfoo(n-1)
def foo(n):
    print(n)
    return f(n-1)
>>5


>>1