函数式编程:
-
在python中,函数是一等对象
-
一等对象一般都会具有如下特点:
-
对象是运行时创建的
-
能赋值给变量或作为数据结构中的元素
-
能做为参数传递
-
能作为返回值返回
高阶函数:实际将函数那段代码作为参数传进目标函数
-高阶函数至少要符合以下两个特点中的一个
-
接收一个或多个函数作为参数
-
将函数作为返回值返回
def fn1(n):
if n%2 == 0:
return True
return False
def fn2(n):
if n%2 != 0:
return True
return False
def fn3(n):
if n > 5:
return True
return False
#创建一个列表
l = [1,2,3,4,5,6,7,8,9,10]
#定义一个函数可以将指定列表中的所有的偶数,保存到一个信的列表中返回
def fn(fnc, lst):
'''
fn()函数可以将根据传进来的函数功能,并保存到一个新列表中返回
参数:fnc接收函数作为参数,lst要进行筛选的列表
'''
#创建一个新列表
new_list = []
#对列表进行筛选
for n in lst:
#判断n的奇偶
if fnc(n):
new_list.append(n)
#返回新列表
return new_list
print(fn(fn1,l))
[2, 4, 6, 8, 10]