首页 > 编程语言 > 详细

python的函数对象

时间:2017-01-22 18:05:50      阅读:207      评论:0      收藏:0      [点我收藏+]

1、lambda函数

lambda可用于定义函数,例子:

func = lambda x,y: x+y

print func(x,y)

 2、函数可作为参数传递

def f2(f1,a):

  f1(a,1)

  return f1

 

f2(f1,4)

3、map

re = map((lambda x: x+3),[1,3,5,6])

map有两个参数,一个是lambda所定义的函数,另一个是包含多个元素的表

map的功能是 将 函数依次作用于 表中的元素,  并将结果保存在 re 表中,map多个参数写法如下

re = map((lambda x,y: x+y),[1,2,3],[6,7,9])

4、filter

filter函数的第一个参数也是一个函数对象(这里不一定是lambda定义的)。它也是将作为参数的函数对象作用于多个元素。如果函数对象返回的是True,则该次的元素被储存于返回的表中。

filter通过读入的函数来筛选数据。同样,在Python 3.X中,filter返回的不是表,而是循环对象。实例如下

def func(a):

  if a > 100:

    return True

  else:

    return False

print filter(func,[10,56,101,500])

 5、reduce

reduce函数的第一个参数也是函数,但有一个要求,就是这个函数自身能接收两个参数。reduce可以累进地将函数作用于各个参数。

如下:

print reduce((lambda x,y: x+y),[1,2,5,7,9])

相当于(((1+2)+5)+7)+9

 

python的函数对象

原文:http://www.cnblogs.com/qins/p/6340843.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!