Python中的内置身份识别功能

身份函数只是一个返回其参数的函数。当我们定义一个身份函数并赋值时,它返回这个值。

虽然一个内置的身份函数意味着更快的代码渲染,但Python没有一个内置的身份函数,因为它是一个相当琐碎的函数。用if 语句代替身份函数被广泛接受。

反对内置身份函数的另一个理由是,不同的任务需要不同的结构。为不同的任务使用一个统一的身份函数是很困难的,因为它需要不断地调整。

因此,由于一个内置的函数仍然需要经过各个用户的调整,所以建议用户找到一种方法来定义适合他们需要的身份函数。这就为lambda函数打开了大门。

使用Lambda函数来定义Python中的身份函数

Lambda函数被称为匿名函数,因为它们的定义没有名字。我们可以使用Python函数来完成不同的任务。

我们在前面提到,身份函数返回分配给它的参数。当我们打开终端并输入这个函数时,我们可以看到它的作用:

(lambda x: x)(2)

终端应该返回值2

returns argument

lambda同一性函数也接受数学计算并返回结果。

在终端里面输入这个:

(lambda x: x + 5)(2)

这将返回结果7

lambda for calculations

那么最后,我们将给lambda identity函数分配多个参数,并返回相同的参数。

在终端中输入这段代码:

full_name = lambda first, last: f'{first.title()}{last.title()}'
full_name('James', 'Bond')

得到的返回结果将是James Bond

multiple arguments

结论

一个内置的身份函数最初是在工作中的,但由于弊端明显,这个项目被拿掉了。但这给了开发者自由,让他们可以提出自己独特的解决方案。