匿名函数:
Python中使用lambda关键字创建匿名函数,所谓匿名函数,即这个函数没有名字,不用def关键字创建标准的函数。
使用lambda 关键字去创建函数
没有名字的函数
匿名函数 冒号 后面的表达式有且只有一个
lambda参数1, 参数2, 参数3……,冒号 执行表达式
匿名函数自带return,而这个return的结果就是表达式的结果
如:使用lambda表达式计算两个数和:
test = lambda x, y: x+ y
test(1,3)
test(4,5)
换成普通函数其实就是这样的:
def test(x, y)
return x + y
def computer(x, y):
return x + y
pass
对应的匿名函数
M = lambda x, y :x + y
可以通过调用变量M,调用lambda函数
lambda与三元函数:
如下语句:
if a:
b
else:
c
能够由以下等效的表达式来模拟
b if a else c
结果 一般条件 一般条件之外的结果
这样的表达式(三元运算)能够放在lambda中,他们能够在lambda函数中来实现选择逻辑
greater = (lambda x, y: x if x > y else y)
greater(3, 5)
greater(6, 2)
如:
age = 15
print('可以参军‘ if age > 18 else '继续上学')
匿名函数 lambda的缺点:
lambda只能是单个表达式,不是一个代码块,它的设计就是为了满足简单函数的场景,仅能封装有限的逻辑,复杂逻辑实现不了,必须使用def来处理