python笔记之函数 二

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

递归练习:

原文地址:https://www.cnblogs.com/AlbertY/p/8786453.html