Python学习系列九:函数对象

来源:互联网 发布:linux重启weblogic服务 编辑:程序博客网 时间:2024/05/01 11:59

函数也是一个对象,具有属性可以用dir( )函数查询,作为对象,它可以赋值给其他对象名,或者作为参数传递

1、lambda函数

利用lambda函数的语法定义函数。

func=lambda x,y:x**yprint(func(3,4))

2、函数作为参数传递

函数可以作为一个对象,进行参数传递

func=lambda x,y:x+ydef test(f,a,b):    print('test')    print(f(a,b))test(func,3,4)

3、map( )函数

有两个参数,第一个参数是函数对象,一个是包含有多个元素的表

map的功能是将函数对象依次作用于表的每一个元素,每次结果存储于map表中,map是一个循环对象


re1=map((lambda x:x+4),[1,3,45])re2=map((lambda x,y:x+y),[1,2,3],[43,234,3])

4、filter( )函数

filter函数的第一个参数是一个函数对象,它是将作为参数的函数对象作用于多个元素。如果函数对象返回为True,则该元素被存储于返回的表中。filter通过读入的函数筛选数据。

def func(a):    if a>100:        return True    else:        return Falsefor b in filter(func,[10,13,134]):    print(b)

5、reduce( )函数

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


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


((1+2)+3)+9

0 0