什么是lambda函数?它有什么好处?

 我来答
百度网友e83c00e
推荐于2017-09-08
知道答主
回答量:9
采纳率:0%
帮助的人:5.8万
展开全部
编程中提到的 lambda 表达式,通常是在
需要一个函数,但是又不想费神去命名一个函数
...return x*2
...f(3)6
g = lambda x: x*2g(3)6
(lambda x: x*2)(3)61、这是一个lambda函数,它完成同上面普通函数相同的事情。注意这里的简短的语法;没有小括号,
return是默认的,并且函数没有名字,只有将它赋值给变量的变量名。
2、你甚至可以不将lambda函数赋值给一个变量而使用它。这不是举世无双的东西,它只是展示了 lambda 函数只是一个内联函数。
3、lambda函数是风格问题。不一定非要使用它们,任何能够使用它们的地方,都可以定义一个分离的普通的函数,用它来替换。我将它们用在需要封装特殊的,非重用的代码上,用许多小的一行函数不会弄乱我的代码。
4、总之,
lambda函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的函数。
lambda函数不能包含命令,它们所包含的表达式不能超过一个。不要试图向lambda函数中塞入太多的东西;如果你需要更复杂的东西,应该定义一个普通函数,然后想让它多长就多长。
顺便这里有几件事情需要注意。首先,我们使用了and-or技巧的简单形式,没问题,因为一个lambda函数在一个布尔环境下
总为真。(这并不意味着lambda函数不能返回假值。函数本身总是为真,它的返回值可以为任何值。)
老男孩教育
2021-07-08 · 百度认证:北京一天天教育科技有限公司官方账号,教育领域创作者
老男孩教育
专注于Linux高级运维、Python开发、大数据培训,为您分享行业前沿的技术,有效的学习方法和有价值的学习资料。
向TA提问
展开全部

Lambda
表达式是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象,是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包。

而且Lambda表达式非常好用,可以让代码简单、简洁。

Lambda表达式与函数def的区别:

1. def创建的方法是有名称的,而Lambda表达式没有,可以立刻传递;Python
Lambda表达式会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量。

2. Python
Lambda只是一个表达式,def是一个语句。Lambda表达式运行起来像一个函数,当被调用时创建一个框架对象。Lambda能够出现在Python语法不允许def出现的地方。

3. Lambda表达式“:”后面,只能有一个表达式,def则可以有多个。Lambda表达式内部只能包含一行代码,而命名函数内对此无限制。

4. Lambda表达式可以直接作为Python列表或Python字典的成员,返回Lambda表达式中最后一个表达式的值。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式