鱼C论坛

 找回密码
 立即注册
查看: 2823|回复: 1

[技术交流] 《Python零基础》_021 lambda表达式

[复制链接]
发表于 2015-5-2 22:15:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
lambda表达式

匿名函数

>>> def ds(x):
        return 2 * x + 1

>>> ds(5)
11
>>>


>>> lambda c : 2 * c + 1
<function <lambda> at 0x000000000315BEA0>
>>> g = lambda c : 2 * c + 1
>>> g(5)
11
>>>



>>> def add(x,y):
        return x + y

>>> add(3,4)
7

>>> lambda x,y : x + y
<function <lambda> at 0x00000000031751E0>
>>> g = lambda x,y : x + y
>>> g(3,4)
7


*Python写一些执行脚本时,使用Lambda就可以省下定义函数过程,比如说我们只是需要写个简单的脚本来管理服务器时间,我们就不需要专门定义一个函数然后再写调用,使用lamabda就可以使得代码更加精简。
*对于一些比较抽象并且整个程序执行下来只需要调用一两次的函数,有时候给函数起个名字也是比较头疼的问题,使用Lamabda就不需要考虑命名的问题了。
*简化代码的可读性,由于普通的函数阅读经常需要跳到开头Def定义部分,使用lambda函数就可以省去这样的步骤。

两个牛逼的BIF
filter()
>>> filter(None,[1,0,False,True])
<filter object at 0x0000000003182FD0>
>>> list(filter(None,[1,0,False,True]))
[1, True]
>>>


>>> def odd(x):
        return x % 2

>>> temp = range(10)
>>> show = filter(odd,temp)
>>> list(show)
[1, 3, 5, 7, 9]
>>>

>>> list(filter(lambda x : x % 2,range(10)))
[1, 3, 5, 7, 9]
>>>

map()
>>> list(map(lambda x : x * 2 ,range(10)))
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
>>>


本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-5-7 19:29:30 | 显示全部楼层
好笔记:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 01:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表