python中的lambda表达式

python中使用lambda表达式,主要作用是为了节省定义函数名称

  • 需要定义一个函数,但是有没必要写一个function
  • 只需要定义一个变量去接收,不需要return

用法说明

def test(a, b):
    return a + b

print test(1, 2)  # 得到结果3


test1 = lambda a, b: a + b
print test1(1, 2)# 得到结果3

# 也可以这样写
a, b = 1, 2
test1 = lambda a, b: a + b, a, b
print test1    # 得到结果3

简单来说lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去

一些常用用法

  1. 可以用来嵌套使用(简单闭包)
a = (lambda x: (lambda y: x + y))
b = a(10)
print b(5)  # 15
  1. 可以作为一些高阶函数的参数,map为例
c = [1, 2, 3]
res = map(lambda x: x*2, c)  # 得到结果[2, 4, 6]
  1. 他可以作为变量使用(这个就有点骚了)
def_dict = {
    "def_a": lambda: 2 + 2,
    "def_b": lambda: 3 + 3,
    "def_c": lambda: 4 + 4,
}

print def_dict["def_a"]()  # 4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值