Lambda令人困惑

时间:2017-11-16 10:22:26

标签: python lambda

为什么这两者有不同的结果?

输入:

print((lambda x: x**2 + 5*x + 4) (-4))

输出:

0

输入:

print(lambda x: x**2 + 5*x + 4, -4)

输出:

<function <lambda> at 0x00ECD588> -4

1 个答案:

答案 0 :(得分:2)

第一个:

print((lambda x: x**2 + 5*x + 4) (-4))

这是:

  • 制作一个功能(lambda x: x**2 + 5*x + 4)
  • (-4)为参数调用该函数
  • 打印结果:0

第二个:

print(lambda x: x**2 + 5*x + 4, -4)

这是:

  • 制作一个功能lambda x: x**2 + 5*x + 4
  • 打印功能:<function <lambda> at 0x1071230d0> ...
  • ...后跟数字-4