尾递归
2018-08-04 本文已影响0人
名C
尾递归
尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只占用一个栈帧,不会出现栈溢出的情况
def fact(n):
return fact_iter(n,1)
def fact_iter(num, product):
if num ==1:
return product
return fact_iter(num -1, num * product)