python学习之匿名函数

含义

不再使用def 语句定义函数。

为了解决一些功能简单的需求而使用一句话函数解决,

优点

  • 使用python写一些脚本时,使用匿名函数可以省去定义函数得过程,让代码更精简;
  • 对于一些抽象的,不会被别的地方重复使用的函数,使用lambda可以省去函数命名的过程;
  • 使代码更易理解

格式

函数名 = lambda 参数 : 返回值


#定义多个参数时,使用逗号隔开

#调用时,直接函数名(参数)即可

实例

  • 单个参数匿名函数
def calc(n):
    return n**n
print(calc(10))

上面的代码使用匿名函数为:

calc = lambda n:n**n
print(calc(10))
  • 多个参数匿名函数
calc = lambda a,b,c:a*b*c
print(calc(1,2,3))
  • 对字典排序
infors = [{"name":"wang","age":11},{"name":"xiaoming","age":20},{"name":"banzhang","age":10}]
#根据age对字典排序
infors.sort(key=lambda x:x['age'])
print(infors)

#执行结果:
#[{'name': 'banzhang', 'age': 10}, {'name': 'wang', 'age': 11}, {'name': 'xiaoming', 'age': 20}]

  • lambda与其他功能函数合用
#注:map函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的饿list返回。

res = map(lambda x:x**2,[1,5,7,4,8])
for i in res:
    print(i)
  • 把lambda当成一个变量
#把lambda当成一个变量
def test(a,b,func):
    result = func(a,b)
    return result
num = test(11,22,lambda x,y:x+y)
print(num)












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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值