有没有办法将 lambda 分配给函数?

Riv*_*ver -5 python lambda

我需要将 lambda 函数分配给一个变量,并稍后在脚本中使用它来进行小型保护。那可能吗?

\n

例如,I\xc2\xb4ll 将 lambda 函数分配给名为 foo 的变量:

\n
foo = lambda\n
Run Code Online (Sandbox Code Playgroud)\n

然后,当我需要它时,我会这样或那样地使用它:

\n
foo2 = foo x: x*x\n
Run Code Online (Sandbox Code Playgroud)\n

这可能吗?

\n

Aks*_*gal 6

lambda是一个关键字而不是一个对象。您必须定义该函数并将其保存为变量。

不过 lambda 的用法非常简单,因为您已经使用print. 尝试这个 -

foo = lambda x: x.upper()

foo('hello world')
Run Code Online (Sandbox Code Playgroud)
'HELLO WORLD'
Run Code Online (Sandbox Code Playgroud)

编辑:(基于 OP 评论)这是一个很好的答案,它讨论了为什么不能lambda使用变量名更改关键字,因为它是保留的 python 关键字。

OP 在答案中提到了这些保留关键字 -

foo = lambda x: x.upper()

foo('hello world')
Run Code Online (Sandbox Code Playgroud)

  • lambda 是一个“关键字”,而不是一个对象。您必须定义该函数并将其保存为变量。 (2认同)
  • 哦,这是因为他们追求“class”和“def”。 (2认同)