一、lambda函数

比如:

fun1 = lambda x,y: x + y
print fun1(3,4)

输出:7



lambda生成一个函数对象。该函数參数为x,y,返回值为x+y。函数对象赋给func。

func的调用与正常函数无异。



上面的代码等价于:

def fun2(x, y):
return x + y

二、函数作为參数

函数能够作为一个对象。进行參数传递。

比如:

fun = lambda x ,y : x+y
def runFun(fun, a, b):
print fun(a,b)
runFun(fun, 3, 5)

输出:8



又如:

runFun((lambda x,y: x**2 + y), 6, 9)

三、map()函数

map()是Python的内置函数。它的第一个參数是一个函数对象。

map()的功能是将函数对象依次作用于表的每个元素。并将结果返回。

如:

ret1 = map((lambda x:x+1),[1,2,3])
print ret1 ret2 = map((lambda x,y:x+y),[1,2,3],[10,100,1000])
print ret2

输出:

[2, 3, 4]
[11, 102, 1003]

三、filter()函数

filter函数的第一个參数也是一个函数对象。它也是将作为參数的函数对象作用于多个元素。

假设函数对象返回的是True,则该次的元素被储存于返回的表中。filter通过读入的函数来筛选数据。

如:

def fun3(a):
if a > 100:
return True
else:
return False print filter(fun3, [10,20,100,110])

输出:[110]





四、reduce()函数

reduce函数的第一个參数也是函数,但有一个要求,就是这个函数自身能接收两个參数。

比如:

print reduce((lambda x,y:x+y),[1,2,3,4,5])

输出:15



reduce将表中的前两个元素(1和2)传递给lambda函数,得到3。

该返回值(3)将作为lambda函数的第一个參数,而表中的下一个元素(3)作为lambda函数的第二个參数,进行下一次的对lambda函数的调用,得到6。

依次调用lambda函数。每次lambda函数的第一个參数是上一次运算结果,而第二个參数为表中的下一个元素,直到表中没有剩余元素。

上面样例。相当于(((1+2)+3)+4)+5





注意:在3.x版本号中map,filter,reduce这三个函数都稍有不同

Python学习笔记7:函数对象及函数对象作參数的更多相关文章

  1. springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定

    springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定 标签: springmvc springmvc学习笔记13-springmvc注解开发之集合类型參数绑定 数组绑定 需 ...

  2. springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定

    springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定 标签: springmvc springmvc学习笔记12-springmvc注解开发之包装类型參数绑定 需求 实现方 ...

  3. Python学习笔记一:变量、函数

    变量.函数是Python语言的最基本单元,下面是我作为初学者的当前理解,随着学习的深入今后会做刷新. 变量:表示操作对象是谁. 变量的方法:表示能做什么事情. 如何设计变量:先分析需要解决的问题,基于 ...

  4. python学习笔记:第10天 函数进阶和作用域

    目录 1. 函数进阶 2. 命名空间 3. 关键字global和nonlocal 1. 函数进阶 动态接收位置参数 之前写的函数都是固定参数的,假设有个函数需要的参数由几十个,一个个写在形参的位置会非 ...

  5. python学习笔记:第9天 函数初步

    1. 函数的定义及调用 函数:所谓的函数可以看作是对一段代码的封装,也是对一个功能模块的封装,这样方便在下次想用这个功能的时候直接调用这个功能模块,而不用重新去写. 函数的定义:我们使用def关键字来 ...

  6. python学习笔记(24)-类与对象

    #类与对象 #python类的语法 关键字 class #class 类名 类名的规范是:数字字母下划线组成,不能以数字开头 首字母大写 驼峰命名 #类属性 放在类里面的变量值 #类方法 放在类里面的 ...

  7. python学习笔记(十一)之函数

    牛刀小试: 定义一个无参函数 >>> def myFirstFunc(): ... print("Hello python") ... print("h ...

  8. Python学习笔记——常用的内置函数

    一.yield def EricReadlines(): seek = 0 while True: with open('D:/temp.txt','r') as f: f.seek(seek) da ...

  9. Python学习笔记(十)匿名函数

    摘抄自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431843456 ...

  10. Python学习笔记(九)返回函数

    摘抄:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318352367 ...

随机推荐

  1. 【shiro】使用shiro搭建的项目,页面引用js,报错:Uncaught SyntaxError: Unexpected token <

    使用shiro搭建项目过程中,总是出现登录页面 登录第一次有效果,登陆第二次出现302状态码,第三次又有效果,第四次又没有效果的局面. 因此,采用ajax提交页面登录的用户名和密码,但是在引用js的过 ...

  2. log4j设置,以及中文乱码,通过过滤器输出指定级别的日志,或者指定级别范围的日志

    配置文件为默认名字log4j.properties时,放在某个模块下的resources下即可,即使有多个模块的情况下,任意一个模块的resources下有这个默认名字的文件log4j.propert ...

  3. [转]SQLServer和Oracle,存储过程区别,常用函数对比

    本文转自:http://www.cnblogs.com/neru/archive/2011/08/18/2144049.html 以前一直用sqlserver,只有很少的一点oracle的经验,现在要 ...

  4. 微软对外披露两个0day漏洞详情

    微软近日对外披露了两个0day漏洞详情,其中一个漏洞存在Adobe阅读器中,可被利用导致任意代码执行:另一个漏洞则允许任意代码在Windows kernel内存中提权执行. 微软称由于该漏洞利用目前还 ...

  5. 破解IDEA Ultimate2017 测试

    转载:http://blog.csdn.net/linyanqing21/article/details/72594352 IntelliJ Idea 2017 免费激活方法: 1.到网站 http: ...

  6. 远程操作linux

    import java.io.IOException;import java.io.InputStream;import org.apache.commons.io.IOUtils; import c ...

  7. 30分钟Git命令“从入门到放弃”

    git 现在的火爆程度非同一般,它被广泛地用在大型开源项目中,但是初学者非常容易“从入门到放弃”,各种命令各种参数,天哪,宝宝要吓哭了.实际上新手并不需要了解所有命令的用途,学习是需要一个循序渐进的过 ...

  8. (转)如何在maven环境中设置JVM参数

    有时候我们需要设定maven环境下的JVM参数,以便通过maven执行的命令或启动的系统能得到它们需要的参数设定.比如:当我们使用jetty:run启动jetty服务器时,在进行热部署时会经常发生:J ...

  9. freemarker的list指令小技术归纳

    1.问题:当数据超过3位的时候,freemarker会自动用逗号截取,例如2,311 解决方法(一种即可): (1)加.toString(),如:${(data).toString()} (2)加?c ...

  10. Oracle DMP 操作笔记之根据DMP逆向推导出导出的表空间名称

    最近在带着一群.NET新兵们在开发和升级一套系统,本人虽然工作好几年,但是也是属于啥都懂一点,啥都不会的队伍,碰到新兵更是蛋都碎了,还特别拘谨,为啥新兵们都是基础知识很不错的,看来要好好练习内功了,好 ...