CSDN学习挑战赛——python学习 lambda表达式学习笔记

​活动地址:CSDN21天学习挑战赛

一、概述

Lambda 表达式(lambda expression)是一个 匿名函数 ,Lambda表达式基于数学中的 λ演算 得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。 Lambda表达式可以表示 闭包 (注意和数学传统意义上的不同)。

lambda 函数是一种小的匿名函数。

lambda 函数可接受任意数量的参数,但只能有一个表达式。

语法:

<函数名>=lambda <参数> : <表达式>

等价于

def  <函数名>(<参数>):

                <函数体>

                 return <返回值> 

二、lambda函数与def函数

1.lambda表达式的优点:

  • lambda函数,只有一行,可以使代码更加简洁
  • 对于不需要多次使用的函数,使用lambda表达式使用完之后立即释放,可以提高程序的性能

2.二者的区别

  • lambda表达式可以定义一个匿名函数,def定义函数必须要有一个名字
  • lambda主体是一个单个的表达式,不是一个代码块
  • lambda是一个为编写简单的函数而设计的,def用来处理更大的任务

三、lambda表达式实例

1.一个 lambda 函数,它把作为参数传入的数字加 10,然后打印结果:

#def函数实现
def sam(n):
    m = n + 10
    return m
print(5)

#lambda表达式实现
x = lambda a : a + 10
print(x(5))
#运行结果
15

2.一个 lambda 函数,它把参数 a 与参数 b 相乘并打印结果:

#def函数实现
def multi(m, n):
    return m * n

#lambda表达式实现
x = lambda a, b : a * b
print(x(5, 6))
#运行结果
30

3.与map方法混合使用

实现将一个列表元素变为原来二倍

#def函数实现
def double(n):
    return 2*n

lst = [1, 2, 3, 4, 5]
x1 = map(double, lst)
list(x1)

#lambda表达式实现
x2 = map(lambda a:2*a, lst)
list(x2)

运行结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值