python中lambda函数的返回类型是什么?

时间:2019-02-10 16:34:56

标签: python lambda return-type

在Python中创建lambda时,返回什么类型?例如。 type(lambda x: x+1)返回

4 个答案:

答案 0 :(得分:4)

Lambda与定义常规函数几乎一样。

在您的情况下,它等效于:

def _(x):
    return x+1

因此,由于Python具有动态键入特性,因此返回值的类型取决于函数的作用。

以不同的值调用该函数可以返回不同的值:

In [2]: y = lambda x: x+1

In [3]: y(1)
Out[3]: 2

In [4]: type(y(1))
Out[4]: int

In [5]: y(1.0)
Out[5]: 2.0

In [6]: type(y(1.0))
Out[6]: float

询问 lambda函数本身的类型时,类型仅为function

In [1]: type(lambda x: x+1)
Out[1]: function

答案 1 :(得分:2)

>>> type(lambda x: x+1)
<class 'function'>

答案 2 :(得分:1)

它返回您可能期望的相同类型。如果您设置:

y = lambda x: x+1

然后type(y(1))将返回int type(y(1.1))将返回floattype(y)只会返回function

答案 3 :(得分:1)

Lambda只是功能之上的简单语法糖。来自documentation(重点是我):

  

可以使用lambda关键字创建小的匿名函数。此函数返回其两个参数的总和:lambda a,b:a + b。 Lambda函数可在需要函数对象的任何地方使用。在语法上将它们限制为单个表达式。 从语义上讲,它们只是常规函数定义的语法糖。与嵌套函数定义一样,lambda函数可以引用包含范围中的变量: