引言
前段时间,没事儿时翻看了自己刚参加工作时写的一些代码,发现代码中有好几处分别都用到了lambda表达式,从代码中会发现那时候的自己对lambda理解的不算深刻,lambda的本质,为什么要用lambda而不用def定义函数等这些都没有系统的掌握。于是后面花了一些时间重新梳理了自己对lambda的认识。
lambda介绍
lambda是python中的一个关键字,实际开发中常用lambda表达式的方式创建匿名函数,比如 lambda a, b: a+b,表示定义了一个匿名函数,该函数包含a、b两个参数,并返回a与b的和。lambda表达式返回的是一个函数对象,可通过函数对象来调用定义的匿名函数,比如my_func = lambda a, b: a+b,my_func(2, 3)则表示调用lambda定义的匿名函数;(lambda a, b: a + b)(2, 3)则是另一种调用方式,具体操作如下:
>>> my_func = lambda a, b: a + b
>>> type(my_func)
>>> my_func
at 0x0000000002E60438>
>>> my_func(2, 3)
5
>>> (lambda a, b: a + b)(2, 3)
5
剖析lambda创建匿名函数
lambda定义匿名函数的格式为:lambda parameters: expression,其中parameters表示定义一个或多个参数,参数类型与