#变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数称之为高阶函数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)
递归练习: