递归,众所周知,很耗计算机性能.但把递归改写成尾调用,就会很好的节省内存。
尾调用:就是在函数的最后一步调用.
def foo(x):
x += 1
return x
# 不是尾调用,因为最后一步,是 foo函数的返回值与1相加
def tailF1():
return foo(5)+1
# 这是尾调用,最后一步调用函数
def tailF2():
return foo(5)
递归,众所周知,很耗计算机性能.但把递归改写成尾调用,就会很好的节省内存。
尾调用:就是在函数的最后一步调用.
def foo(x):
x += 1
return x
# 不是尾调用,因为最后一步,是 foo函数的返回值与1相加
def tailF1():
return foo(5)+1
# 这是尾调用,最后一步调用函数
def tailF2():
return foo(5)