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

时间:2018-02-22 20:55:15

标签: python python-3.x algorithm python-2.7 data-structures

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


>>1

返回功能

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


>>1

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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