lambda表达式

lambda表达式

示例

p = lambda x,y:x+y
print(p(4,6))

a = lambda x,y,z:(x+8)*y-z
print(a(5,6,8))

一个语法

  • lambda argument_list: expression

1. 这里的argument_list是参数列表,它的结构与Python中函数(function)的参数列表是一样的。具体来说,argument_list可以有非常多的形式。例如:

  • a, b
  • a=1, b=2
  • *args
  • **kwargs
  • a, b=1, *args

2. 这里的expression是一个关于参数的表达式。表达式中出现的参数需要在argument_list中有定义,并且表达式只能是单行的。以下都是合法的表达式:

  • 1
  • None
  • a + b
  • sum(a)
  • 1 if a >10 else 0

3. 这里的lambda argument_list: expression表示的是一个函数。这个函数叫做lambda函数。

三个特性

  • lambda函数是匿名的:所谓匿名函数,通俗地说就是没有名字的函数。lambda函数没有名字。
  • lambda函数有输入和输出:输入是传入到参数列表argument_list的值,输出是根据表达式expression计算得到的值。
  • lambda函数一般功能简单:单行expression决定了lambda函数不可能完成复杂的逻辑,只能完成非常简单的功能。由于其实现的功能一目了然,甚至不需要专门的名字来说明。

四个用法

  • 将lambda函数赋值给一个变量,通过这个变量间接调用该lambda函数。
  • 将lambda函数赋值给其他函数,从而将其他函数用该lambda函数替换。
  • 将lambda函数作为其他函数的返回值,返回给调用者。
  • 将lambda函数作为参数传递给其他函数。

参考

关于Python中的lambda,这篇阅读量10万+的文章可能是你见过的最完整的讲解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值