在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