python(第四天):匿名函数

本文深入探讨了Python中匿名函数Lambda的特点与用途,包括其作为表达式而非语句的独特优势,以及在回调处理器中的应用。重点展示了Lambda如何简化代码、在map函数中的使用以及在更新计数器操作中的效率提升。

匿名函数的关键字为 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



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值