码迷,mamicode.com
首页 > 编程语言 > 详细

python的函数对象

时间:2017-01-22 18:06:04      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:返回   依次   函数对象   pytho   多个参数   map   span   int   attr   

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的函数对象

标签:返回   依次   函数对象   pytho   多个参数   map   span   int   attr   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!