lambda 表达式
1、概述
lambda 表达式,通常是需要一个函数,但又不用大费周章的去定义一个函数时使用,也指匿名函数。
lambda所代替的函数内容应该是很简单的,过于复杂的话,它无法实现,而且还不如重新定义一个函数。
2、语法
lambda argument_list: expression
lambda 关键字之后跟一个或者多个参数,相当于一个list,然后紧跟一个冒号,然后是函数的表达式。
举个栗子:
>>>f = lambda x, y: x**y
>>>print(f(2, 3))
>>> 8
3、特点;
- lambda整体是一个表达式,不是一个语句。
- lambda 函数是匿名的。
- lambda函数是有输入和输出的,输入就是argument_list,输出是expression 计算之后的值。
- lambda函数功能简单,expression单行无法完成复杂的功能,但是其中可以调用其他简单的函数。
- lambda函数应用在函数式编程中,如map,sorted,filter,map等函数,支持其他函数作为参数。
举个栗子:
sorted(list_a, key = lambda b: abs(b))
4、闭包中
将lambda函数作为其他函数的返回值,这里相当于在一个函数内部调用另一个函数,称之为嵌套函数,或内部函数。
def add(x, y):
return lambda x,y: x + y