9512.net
甜梦文库
当前位置:首页 >> 数学 >>

2-10python中匿名函数


python 中匿名函数
高阶函数可以接收函数做参数,有些时候,我们不需要显式地定义函数,直接传入匿名函数更方便。 在 Python 中,对匿名函数提供了有限支持。还是以 map()函数为例,计算 f(x)=x2 时,除了定义一个 f(x) 的函数外,还可以直接传入匿名函数:

>>>map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]) [1, 4, 9, 16, 25, 36, 49, 64, 81]
通过对比可以看出,匿名函数 lambda x: x * x 实际上就是:

def f(x): return x * x
关键字 lambda 表示匿名函数,冒号前面的 x 表示函数参数。 匿名函数有个限制,就是只能有一个表达式,不写 return,返回值就是该表达式的结果。 使用匿名函数,可以不必定义函数名,直接创建一个函数对象,很多时候可以简化代码:

>>>sorted([1, 3, 9, 5, 0], lambda x,y: -cmp(x,y)) [9, 5, 3, 1, 0]
返回函数的时候,也可以返回匿名函数:

>>>myabs = lambda x: -x if x < 0 else x >>>myabs(-1) 1 >>>myabs(1) 1

任务
利用匿名函数简化以下代码:

def is_not_empty(s): return s and len(s.strip()) > 0 filter(is_not_empty, ['test', None, '', 'str', ' ', 'END'])


赞助商链接

更多相关文章:
2-15python中函数
2-15python中函数 - python 中函数 当一个函数有很多参数时,调用者就需要提供多个参数。如果减少参数个数,就可以简化调用者的负担。 比如,int()函数可以把...
2-6python中filter()函数
2-6python中filter()函数 - python 中 filter()函数 filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一...
2-8python中返回函数
2-8python中返回函数 - python 中返回函数 Python 的函数不但可以返回 int、str、list、dict 等数据类型,还可以返回函数! 例如,定义一个函数 f(),我们让...
python常用函数
[1, 4, 9, 10, 25, 36, 49, 64, 81] ...2.reduce()函数 reduce()函数也是 Python 内置的一...匿名函数高阶函数可以接收函数做参数,有些时候,我们...
2-14python中完善decorator
2-14python中完善decorator - python 中完善 decorator @decorator 可以动态实现函数功能的增加,但是,经过@decorator“改造”后的函数,和原...
Python 的各种符号
从 stdin 里读取执行代码。 Table 2.1. Python ...匿名函数 x<y,x<=y,x==y,x!=y,x>=y,x>...Table 10.1. 正则表达式基本字符字符 . ^ $ 描述...
Python 函数
Python 函数函数是组织好,可重复使用,用来实现...[1,2,3] 是 List 类型,"Runoob" 是 String ...? 不可变类型:变量赋值 a=5 后再赋值 a=10,...
python入门基础知识
1. [alex@alexon:~]$python 2. Python 2.7.3 (default, Apr 10 2013, ...4 4. 另外就是匿名函数,或者叫做 lambda 函数,它没有名字,只有参数和表达 式...
Python小测试_2_图文
Python小测试_2_小学作文_小学教育_教育专区。Python小测试1~9有助于初学者...函数 random.randint(0, 10) 和 random.randrange(0, 10)产生的随机数范围...
python2.72内置函数手册
python2.72内置函数手册_计算机软件及应用_IT/计算机_专业资料。Python2.72 ...如果想知道某个对象的内存地址,用这个内置函数,返回10 进制的地址。 33....
更多相关标签:

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图