python的lamda表达式

学习python时看到了这个函数:
在这里插入图片描述
对里面的lamda表达式产生了疑问。经过一番查找,对lamda表达式理解如下:
lamda看似是表达式,其实是一个函数,冒号前是传入的参数,冒号后是表达式,return将返回它的值。可以用来代替一个简单的函数,减少代码篇幅
例1:

def sum(x,y):
      return x+y

相同意义的lamda表达式:

lambda x,y:x+y

例2:
在这里插入图片描述
注意:

  1. lambda 函数不能包含命令,

  2. 包含的表达式不能超过一个。

  3. lamda表达式还有一个坑:lambda表达式中传入的是自由变量,
    在运行时绑定值,而不是定义时就绑定,这跟函数的默认值参数定义是不同的。
    例如:
    在这里插入图片描述
    按我们理解函数的思路,a(10)应该为20,而实际为30.这是因为调用a(10)时,x已经被赋值为20
    具体参见:添加链接描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值