Python函数-lambda函数的用法
Python中lambda函数是一个简洁而功能强大的工具,它能够使用简短的代码快速定义匿名函数,并在需要的地方进行调用。本文将介绍lambda函数在Python中的用法。
一、lambda函数的定义
Python中的lambda函数也称为匿名函数,它是一种没有名字的函数,通常用于简单的计算或者处理,它的定义形式如下:
lambda 参数列表: 表达式
其中,参数列表是以逗号分隔的形参列表,表达式是lambda函数的执行语句。
例如,定义一个求和函数,输入两个参数a和b,求a和b的和,可以使用lambda函数实现:
add = lambda a, b: a + b
这个lambda函数的参数列表为a和b,返回a+b的值。可以将这个lambda函数称为add,使用add(1, 2)就能得到3的结果。
二、lambda函数的应用
1.将lambda函数作为参数传递给其它函数
由于lambda函数十分简洁,因此可以将lambda函数作为参数传递给其它函数使用。比如在排序函数sorted()中使用lambda函数作为排序的关键字:
nums = [1, 5, 3, 8, 7]
sorted_nums = sorted(nums, key=lambda x: x)
print(sorted_nums)
在这个例子中,sorted函数中的参数key使用了一个lambda函数完成排序的规定,即按照每个元素本身的大小进行排序。
2. lambda函数可以嵌套使用
lambda函数可以嵌套调用,从而实现复杂的功能。例如,定义一个计算器,输入两个数字和一个运算符,输出计算结果:
calc = lambda a, b, op: (lambda x, y: x + y if op == '+' else x - y if op == '-' else x * y if op == '*' else x / y)(a, b)
print(calc(5, 2, '+')) # 7
print(calc(5, 2, '-')) # 3
print(calc(5, 2, '*')) # 10
print(calc(5, 2, '/')) # 2.5
在这个例子中,利用了lambda函数嵌套调用的特点,使得calc函数的代码极为精简,同时保留了多种运算的应用场景。
三、lambda函数的限制
1.只能使用一条表达式
lambda函数的语法十分简洁,但它的限制在于只能使用一条表达式。如果需要使用多条语句,就不能使用lambda函数的形式,而需要使用一般函数的形式。
2.不能定义自己的变量
lambda函数不支持自定义变量。如果需要定义变量,就需要使用def语句自定义函数。
四、小结
lambda函数是Python中的一种匿名函数形式,常用于简单的计算和处理之中。它的语法非常简单,可以快速定义函数,从而节省代码量,同时也可以嵌套调用,实现更加复杂的功能。需要注意的是,lambda函数仅支持一条表达式,并且不能定义自己的变量。
