Lambda更像是一种概念或编程技术.
基本上你的想法是你得到一个函数(python中的第一类对象)作为另一个函数而不是对象或基元类型返回的结果.我知道,这令人困惑.
从python文档中查看此示例:
def make_incrementor(n):
return lambda x: x + n
f = make_incrementor(42)
f(0)
>>> 42
f(1)
>>> 43
Run Code Online (Sandbox Code Playgroud)
因此make_incrementor创建一个在其结果中使用n的函数.你可以有一个函数,将参数增加2,如下所示:
f2 = make_incrementor(2)
f2(3)
>>> 5
Run Code Online (Sandbox Code Playgroud)
这是函数式编程和函数式编程语言(如lisp和scheme)中非常强大的思想.
希望这可以帮助.
Lambdas不是匿名函数.Lambdas是匿名表达.
它们像函数一样被访问,但它们不是同一个东西.函数允许复杂的任务:流控制,变量声明和包含表达式的语句列表.表达式只是函数的一部分,这就是lambda给你的东西.与功能相比,它们受到严重限制.
Python不支持匿名函数.有关语言的示例,请参阅Javascript和Lua.
(注意:在函数式语言中调用lambdas匿名函数是正确的,其中使用了"函数"的数学定义,但在过程语言中,这个词与数学有着截然不同的含义.)
| 归档时间: |
|
| 查看次数: |
2318 次 |
| 最近记录: |