0


Python匿名函数 lambda

lambda函数,即lambda 表达式,是一个匿名函数(不存在函数名的函数),lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction)。

一、lambda函数也叫匿名函数,即函数没有具体的名称。先来看一个最简单例子:

add=lambda x,y:x+y
print(add(1,2))
实例输出结果:3

二、lambda和普通的函数相比,就是省去了函数名称而已。

  1. 使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。
  2. 对于一些抽象的,不会在别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。
  3. 使用lambda在某些时候让代码更容易理解。

lambda函数声明形式如下:
lambda argument_list:expression

语法中的argument_list是参数列表,它的结构与Python中函数(function)的参数列表是一样的。
语法中的expression是一个关于参数的表达式,表达式中出现的参数需要在argument_list中有定义,并且表达式只能是单行的。

lambad函数的用法上面也讲到了匿名函数的优点,那它到底有哪些用处呢?
(1)直接赋给一个变量,然后再像一般函数那样调用

multi=lambda x,y,z:x*y*z
multi(3,6,15)
实例输出结果
270

当然,也可以在函数后面直接传递实参

(lambda x:x**2)(6)
实例输出结果:36

(2)将lambda函数作为参数传递给其他函数比如说结合map、filter、sorted等一些Python内置函数使用,下面举例说明。

squares=map(lambda x:x**2,range(10))print(list(squares))
实例输出结果:[0,1,4,9,16,25,3649,6481]
list(filter(lambda x:x%4==0,[2,4,6,8,10,12]))
实例输出结果:[4,8,12]
标签:

本文转载自: https://blog.csdn.net/m0_63271549/article/details/121946111
版权归原作者 Joker_i_python 所有, 如有侵权,请联系我们删除。

“Python匿名函数 lambda”的评论:

还没有评论