Python的匿名表达式

d# python的匿名表达式子的用法
这里围绕9个字来说明这个匿名表达式的用法

  • 一个语法
  • 三个特性
  • 四个用法

一个语法

lambda [arg1 [,arg2,…argn]]:expression
这里其中lambda是Python的预留保留字,具体介绍如下

1.这里的arg是传入参数列表,跟函数的传入参数列表一样。可以传入多个参数。
2.这里的expression指的是对参数的定义。
3.lambda [arg1 [,arg2,…argn]]:expression 是一个函数,我们叫做lambda表达式

三个特性

  1. lambda函数一般是匿名的: 没有名字的函数。
  2. lambda函数有输入和输出: 输入时传入参数,输出是根据表达式输入的值
  3. lambda函数一般功能简单: 实现的功能一目了然,简单的逻辑
#!/usr/bin/python3
 
# 可写函数说明
sum = lambda arg1, arg2: arg1 + arg2
 
# 调用sum函数
print ("相加后的值为 : ", sum( 10, 20 ))
print ("相加后的值为 : ", sum( 20, 20 ))

四个用法

由于lambda的语法是固定的,本质上只有一种用法,那就是定义一个lambda函数
在实际种根据lambda函数的应用场景不同,根据这个我们可以将lambda函数用法扩展为这四种:

  1. 将lambda函数赋值给一个变量,通过这个变量间接调用给该函数
add=lambda x,y:x+y
add(1,2)
#3
  1. 将lambda函数赋值给其他函数,从而将其他函数lambda函数用该lambda函数替换
time.sleep=lambda x:None
#这样我们再调sleep的方法的时候,就不回执行原有的time函数方法。

3.将lambda函数作为其他函数的返回值,返回给调用者。

return lambda x,y:x+y
#这是一个加法函数,这时候lambda函数实际上是定义在某个函数内部的函数,称之为嵌套函数,我们称之为闭包结构。

4.将lambda函数作为参数传递为其他函数

  1. filter函数
filer(lambda x: x%3 ==0,[1,2,3])
  1. sorted函数
sorted([1,23,4,5,6,7,8,9],key=lambda:abs(5-x))
  1. map函数
map(lambda x :x+1,[1,2,3])
  1. reduce函数
reduce(lambda(a,b):"{}{}".format(a,b),[1,2,3,4,5,6,7,8,9,10])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忘忧记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值