python(第四天):匿名函数

匿名函数的关键字为 lambda 它有以下几个特点:

1.它是一个表达式,不是一个语句.它相对于def 的优势也出于此.

   a.它能够出现在def 不能出现的地方例如: list和函数调用的参数中.

   b.它会返回一个函数对象, 你可以给这个函数对象赋值一个引用,也可以不赋值.

2.它相对于def 的劣势:

      它的功能要比def 小的多.

>>> f = lambda x,y,z:x+y+z
>>> f(1,2,3)
6

既然已经有了def 为什么还要使用lambda呢?

1.它简单,此特性一目了然.

2.它可以在回调处理器中使用(不太明白,术语太专业)

>>> L=[lambda x:x**2,
       lambda x:x**3,
       lambda x:x**4]
>>> for f in L:
	print(f(2))

	
4
8
16


 它还有一个作用在这里我觉得是比较重要的:在map中使用

有一个这样的需求,更新counters中所有的数字.你可以这样写:

>>> counters=[1,2,3,4]
>>> update = []
>>> for x in counters:
	update.append(x+10)

	
>>> update
[11, 12, 13, 14]


 当然你还可以利用map和lambda这样写:

>>> list(map((lambda x:x+10),counters))
[11, 12, 13, 14]

 明显是要简洁许多,在python中许多内置函数都可以这样使用例如:filter,reduce



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值