#变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数称之为高阶函数 def func1(x,y): return x+y def func2(z): return z f = func2(func1) print(f(1,2))
def func3(x,y): return abs(x+y) #这是绝对值的函数,这也是高阶函数 print(func3(3,-9))
def func4(x,y): return abs,x,y res = func4(3,-10) print(res)
#print(res[0](res[1]+res[2]))
高阶函数满足条件:
接受一个或多个函数作为输入
return 返回另外一个函数
def add(x,y,f): return f(x) + f(y) res = add(3,-10,abs) print(res)
这个调用的工具包表示可以执行多少层
递归:
def func1(n): n = int(n / 2) print(n) if n > 0: func1(n) print(n) func1(10)
def func(n,count): print(n,count) if count < 5: return func(n/2,count+1) else: return n res =func(188,1) print('第五次返回结果:',res)
递归练习: