1.高阶函数
第一个特点:接受一个或多个函数作为参数
第二个特点,将函数做为返回值返回
接收函数作为参数
lst = [1,2,3,4,5,6,7,8,9,10]
#定义一个函数,可以将制定的列表中所有偶数,保存到一个新的列表中并返回
#当我们使用一个函数作为参数,实际上是指将制定的代码传递进了目标函数
#定义一个函数,判断是否为偶数
def fn1(i):
if i % 2 ==0
return True
return False
#定义一个函数,判断是否为奇数
def fn2(i):
if i % != 0:
return True
return False
#定义一个数是否被3整除
def fn3(i):
if i % 3 == 0:
return True
return False
#定义一个函数用了检查是否大于5
def fn4(i):
if i > 5:
return True
retrun False
def fn(func,lst):
#参数lst,要进行筛选列表
#创建一个新的列表
new_lst = []
for i in lst:
#判断n的奇偶数
if func() :
new_lst.append(i)
return new_lst
print(fn(fn1,lst)) # [2, 4, 6, 8, 10]
print(fn(fn2,lst)) #[1, 3, 5, 7, 9]
print(fn(fn3,lst)) #[3, 6, 9]
print(fn(fn4,lst)) [6, 7, 8, 9, 10]
2.闭包
将函数作为返回值返回,我们