Python中lambda表达式的用法及特点
Python是一个高级编程语言,它具有简洁、易读性强等特点。为了增强Python的功能和灵活性,Python提供了lambda表达式,它是一个匿名函数,可以在需要时快速定义简单的函数。
lambda表达式的格式如下:
lambda arguments: expression
其中,arguments是参数列表,用逗号分隔,expression是一个表达式,用于计算函数的返回值。
lambda表达式的用法:
(1)作为函数的参数:
当使用map、filter、reduce等函数时,lambda表达式非常常用。例如,我们需要在一个列表中过滤出偶数:
lst = [1, 2, 3, 4, 5, 6]
result = filter(lambda x: x % 2 == 0, lst)
print(list(result))
输出:[2, 4, 6]
(2)定义简单的函数:
当需要定义只有一个表达式的简单函数时,可以使用lambda表达式。例如,定义一个求平方的函数:
f = lambda x: x ** 2
print(f(2))
输出:4
(3)作为返回值:
当需要返回一个函数时,可以使用lambda表达式,例如:
def get_math_function(operation):
if operation == '+':
return lambda a, b: a + b
elif operation == '-':
return lambda a, b: a - b
elif operation == '*':
return lambda a, b: a * b
elif operation == '/':
return lambda a, b: a / b
else:
return None
add = get_math_function('+')
print(add(1, 2))
输出:3
lambda表达式的特点:
(1)lambda表达式是一个匿名函数,不需要使用def关键字定义。
(2)lambda表达式返回一个函数对象。
(3)lambda表达式只能包含一个表达式,该表达式的结果即为lambda函数的返回值。
(4)lambda表达式的参数列表是可选的,也可以定义默认参数。
(5)lambda表达式可以嵌套使用,类似于普通函数。
