1. 程式人生 > >遞歸函數和高階函數

遞歸函數和高階函數

add 一個 eval 參數 print 其他 規模 減少 調用

#在函數內部,可以調用其他函數。如果一個函數在內部調用自己本身,這個函數就是遞歸函數。

#遞歸特性
#1、必須要有結束條件
#2、每進入更深一層遞歸時,問題規模相比上次遞歸都應有所減少
#3、遞歸效率不高,遞歸層次過多會導致棧溢出

#遞歸
def cal(n):
print(n)
if int(n/2)>0:
return cal(int(n/2))
print("-->",n)
cal(10)

#高階函數:一個函數接受另一個函數作為參數
def add(a,b,f):
return f(a)+f(b)

res=add(3,-6,abs)

b={"name":alex,"age":22}

c=eval(b)
print(type(c))
print(c)

遞歸函數和高階函數