Python 程序设计讲义(59):Python 的函数——labmda函数(匿名函数)
Python 程序设计讲义(59):Python 的函数——labmda函数(匿名函数)
目录
- Python 程序设计讲义(59):Python 的函数——labmda函数(匿名函数)
- 一、定义匿名函数
- 二、匿名函数的标准用法
- 三、匿名函数的扩展用法
- 1、将匿名函数赋值给变量
- 2、将匿名函数赋值给其他函数
匿名函数(labmda
函数),顾名思义就是没有名称的函数。
一、定义匿名函数
匿名函数(labmda
函数)是Python
中的一种特殊函数。匿名函数没有函数名,并且代码只能写成一行。
定义匿名函数的语法格式如下:
lambda 参数:语句或表达式
说明:
(1)匿名函数的参数与普通函数的参数一样。
(2)冒号(:)用户分割参数与函数体(匿名函数的函数体就是一条语句或一个表达式)。
(3)匿名函数只能包含一行语句。
(4)匿名函数的返回值就是其执行结果。
举例:
lambda x,y:x+y
说明:以上代码定义一个匿名函数,其中x,y
是函数的参数,x+y
是匿名函数要执行的代码,用于计算x
与y
的和。函数的返回值就是x+y
的运算结果。
二、匿名函数的标准用法
在函数编程中,有些函数需要使用匿名函数完成特定的功能。
例如:使用filter()
函数从数字列表中过滤出大于3
的数字。
代码如下:
print(list(filter(lambda x:x>3,range(1,7))))程序的运算结果为:
[4, 5, 6]
三、匿名函数的扩展用法
匿名函数是一个函数对象,因此可以将匿名函数赋值给一个变量或者其他函数。
1、将匿名函数赋值给变量
将匿名函数赋值给变量后,该变量名就相当于匿名函数的名称了。可以通过变量名间接的调用匿名函数,使用方法与调用普通函数的方法一样。
例如:
test=lambda x,y:x*y
print(test(2.5,2.2))程序的运算结果为:
5.5
2、将匿名函数赋值给其他函数
将匿名函数赋值给其他函数,可以将该函数用匿名函数替换。
例如:
def jia(x,y):return x+yprint(jia(10, 20))
jia=lambda x,y:x*y
print(jia(10, 20)) #自定义函数jia的功能被匿名函数给替换了。程序的运算结果为:
30
200