python中的lambda函数_python lambda

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

最近碰见太多次lambda函数了那就来详细解释一下该函数。

lambda函数

我们先对lambda函数进行一个简单的介绍

  • lambda函数是一种匿名函数即没有名字的函数
  • 使用lambda保留字定义函数名是返回结果
  • lambda函数的函数体只是一个表达式
  • lambda函数用于定义简单的、能够在一行内表示的函数
  • lambda表达式” : “后面只能有一个表达式def则可以有多个。
  • lambda一般用来定义简单的函数而def可以定义复杂的函数

先来看一个例子

g=lambda x:x+1
print(g(1))
#结果为2

可以这样认为lambda作为一个表达式定义了一个匿名函数。等价于

def g(x):
    return x+1

非常容易理解在这里lambda简化了函数定义的书写形式。是代码更为简洁但是使用函数的定义方式更为直观易理解。
 在这里插入图片描述

可传入多个参数

g=lambda x,y,z:x+y+z*2
print(g(1,2,3))
#结果为9


#也可直接传递参数
(lambda x:x**2)(3)
#结果为9

lambda表达式会返回一个函数对象如果没有变量接受这个返回值的话它很快就会被丢弃。也正是由于lambda只是一个表达式所以它可以直接作为list和dict的成员

list_a = [lambda a: a**3, lambda b: b**3]
print(type(list_a[0]))

结果为
在这里插入图片描述

与map函数进行使用

a = map(lambda x:x**2,range(5))
print(list(a))

结果为
在这里插入图片描述

总结

lambda函数使代码结构更加紧凑但却使代码看起来不是那么清晰。

参考资料

https://zhuanlan.zhihu.com/p/80960485

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: python