python匿名函数lambda初用

从一个最简单的例子说起吧

可以这样认为,lambda作为一个表达式,定义了一个匿名函数,上例的代码x为入口参数,x+1为函数体,用函数来表示为:

一些其它有用的自带的函数,比如filter,map, reduce

如果论简洁性,其实for in if已经能够很方便地解决绝大多数问题了,但是如果这个函数只会使用一次的话就相当于多定义了一个(污染环境的)函数。而且lambda实际上更易读,因为那个映射到列表上的函数具体是要做什么,非常一目了然。如果你仔细观察自己的代码,会发现这种场景其实很常见:你在某处就真的只需要一个能做一件事情的函数而已,连它叫什么名字都无关紧要。Lambda 表达式就可以用来做这件事。

这种能够接受一个函数作为参数的函数叫做「高阶函数」(higher-order function),是来自函数式编程(functional programming)的思想。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注