高阶函数
- 高阶函数:可以使用函数对象作为参数的函数;
- 高阶函数:或可以将函数作为返回值的函数;
def add(f,x,y)
return f(x)+f(y)
print(add(lambda x:x**2,3,4))
print(add(lambda x::str(x),3,4))
print(add(lambda x:x/2,3,4))
#结果分别输出为
#25
#34
#3.5
res = map(lambda x:x**2,range(10))
print(list(res))#以列表形式输出
#其结果:[0,1,4,9,16,25,36,49]
内置高阶函数
- map数据映射函数
- map(func,list)—>map生成器对象
- 将函数作用在list的每一个序列上
函数对象
- 定义好的函数,使用函数名调用
def add(x,y):
return x+y
print(add)
- 将函数作为参数的高阶函数通过传入不同的函数,可以使执行的结果完全不同的结果
def my_map(f,lis):
new_list =[]
for i in lis:
new_list.append
return new_list(f(i))
print(my.map(lambda x:x**0.5,range(1,10)))
装饰器函数
- 装饰器函数:修改增加其他函数功能的函数;
- 不修改原函数的代码;
- 一个装饰器函数可以给n个函数添加或修改相同的功能
装饰器函数的实现方法
- 是一个嵌套函数
- 是一个高阶函数,将原函数作为参数,将内部函数作为返回值;
- 将原函数替换为内部函数中执行保留原函数的功能。
有参装饰器给无参装饰器上再加一层函数用于接受参数
装饰器
作用:使用@后函数名放在另一个原函数上方