使用lambda语句可以创建表达式形式的匿名函数,形如 lambda args : expression
1.匿名函数的概念
args可以是以逗号分隔的一系列参数,而expression是用到这些参数的表达式,如下实例
a = lambda x, y : x + y
r = a(3, 9)
使用lambda语句定义的代码必须是合法的表达式。lambda语句中不能出现多条语句和其他非表达式语句,如for和while语句。
lambda表达式遵循与函数相同的作用域规则。而且匿名函数不用写return,返回值就是表达式的结果。
lambda的首要用途是制定短小的回调函数。例如,在不考虑大小写的情况下对一列名称进行排序,代码如下:
names.sort(key = lambda n : n.lower())
2.将匿名函数赋值个一个变量
匿名函数也是一个函数对象,可以将其赋值给一个变量,再利用变量来调用该函数:
f = lambda x: x * x
f(15)
#最后执行的结果就是15 * 15
3.将匿名函数当做返回值来返回
def fun(x, y):
return lambda : x * x + y * y
def fun(x, y):
return lambda : x * x + y * y
t = fun(2,3)
print(t)
print(t()) #注意这两个打印的区别
结果为:
<function fun.<locals>.<lambda> at 0x000001FE58D03E18>
13
总结
- 今晚加班太晚回到家都快十点多了,所以就学了一个简单的知识点
- 本节只学了python中一个基础的知识点匿名函数,以及匿名函数两种常规的用法,并附有代码实例,多联系几遍就能掌握的