高阶函数
当一个函数A的参数,接收的又是另一个函数时,则把这个函数称为‘高阶函数’
sorted函数
l = [{‘name’:‘a’, ‘age’:18}, {‘name’:‘a2’, ‘age’:19}]
def getkey(x):
return x[‘age’]
result = sorted(l, key=getkey)
print(result)
使用场景
def caculate(num1, num2, caculate):
print(caculate(num1, num2))
def sum(a, b):
return a+b
def jian(a, b):
return a-b
caculate(5, 6, sum)
返回函数
是指一个函数内部,它返回的数据是另一个函数,把这样的操作称为‘返回函数’
def getfun(flag):
def sum(a, b):
return a + b
def jian(a, b):
return a - b
if flag == ‘-’:
return jian
elif flag == ‘+’:
return sum
result = getfun(’-’)
res = result(5, 6)
print(res)
匿名函数
没有名字的函数
语法:lambda 参数1.参数2…:表达式
限制:只能写一个表达式,不能直接用return,表达式的结果就是返回值,只能用于一些简单的操作处理
result = (lambda x, y : x + y)(1, 2)
print(result)
newFunc = lambda x, y : x + y
print(newFunc(1, 3))
l = [{‘name’:‘a’, ‘age’:18}, {‘name’:‘a2’, ‘age’:19}]
result = sorted(l, key=lambda x:[‘name’])
print(result)