尾遞歸
尾遞歸是指罗晕,在函數(shù)返回的時(shí)候济欢,調(diào)用自身本身,并且小渊,return語句不能包含表達(dá)式法褥。這樣,編譯器或者解釋器就可以把尾遞歸做優(yōu)化酬屉,使遞歸本身無論調(diào)用多少次半等,都只占用一個(gè)棧幀揍愁,不會(huì)出現(xiàn)棧溢出的情況
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)