《Python语言程序设计》 —3.5.3 lambda函数

举报
华章计算机 发表于 2019/11/18 21:13:11 2019/11/18
【摘要】 本节书摘来自华章计算机《Python语言程序设计》一书中第3章,第3.5.3节,作者是王恺 王志 李涛 朱洪文。

3.5.3 lambda函数

lambda函数也称为匿名函数,是一种不使用def定义函数的形式,其作用是能快速定义一个简短的函数。lambda函数的函数体只是一个表达式,所以lambda函数通常只能实现比较简单的功能。

提示 任何lambda函数都可以改成使用def来定义,但有时使用lambda函数会让代码看起来更简洁。

lambda函数的定义形式如下所示:

lambda [参数1[, 参数2, ..., 参数n]]: 表达式

冒号后面的表达式的计算结果即为该lambda函数的返回值。例如,对于代码清

单3-29,可以简写为代码清单3-30所示形式。

代码清单3-30 lambda函数示例

1    def FunAdd(f,x,y): #定义函数FunAdd

2        return f(x)+f(y) #用传给f的函数先对x和y分别处理后,再求和并返回

3    print(FunAdd(lambda x:x**2,3,-5)) #调用函数FunAdd,计算32+(-5)2

4    print(FunAdd(lambda x:x**3,3,-5)) #调用函数FunAdd,计算33+(-5)3

程序执行完毕后,将在屏幕上输出如下结果:

34

-98

提示 代码清单3-30的第3行代码中,lambda x:x**2定义了一个lambda函数,其有一个参数x,返回值是x**2(即x的平方);第4行代码中,lambda x:x**3定义了另一个lambda函数,其有一个参数x,返回值是x**3(即x的立方)。

也可以将lambda函数赋给一个变量,然后通过该变量调用相应的lambda函数。例如:

fun=lambda x:x**2

print(fun(3)) #输出9


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。