Python高阶函数其实很好理解,就是把一个函数作为参数传递给另一个函数使用,注意这里的函数在作为参数的时候不能带小括号,带小括号表示执行函数。注意如果作为参数的函数返回值为它自己,则为后面课程要讲的递归函数。
1.高阶函数分解
直接上代码讲解
def func1(a, b):
return a + b
def func2(a, b):
return a - b
def func(m, n, funcx):
print(funcx(m, n))
func(10, 5, func1) # 这里把func1赋值给函数func的第三个参数,第三个参数有两个形参,借助于func传递两个形参分辨赋值10和5
func(10, 5, func2)
上面的func就是高阶函数,里面传递三个参数,其中funcx就的接受另一个函数的形参。
2.前面我们学习过的一个列表处理函数,其实就是高阶函数,下面我们来梳理一下。
list = [{'name': 'Tom3', 'age': 16.5}, {'name': 'Tom2', 'age': 17}, {'name': 'Tom1', 'age': 16}]
def get_key(x):
print(x)
return x['age']
res = sorted(list, key=get_key) # 在这里我们把函数get_key当做形参key的值来使用的print(res)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。