• python--函数对象


    1.lambda函数:

    用法:定义函数

    func=lambda x,y:x+y

    print func(3,4)

    等同于:

    def func(x,y):

          return x+y

    2.函数作为参数传递:

       def test(f,a,b):

             print f(a,b)

      test(func,3,5)

    解释:test的第一个参数f就是一个函数对象。将func传递给f,test中的f()拥有了func()的功能

    test(lambda x,y:x+y),6,9),提高函数的灵活性

    3.map函数

      re=map(lamdba x:x+9),[1,2,3,4])

    map函数包括2各参数,功能是将函数对象作用于表的每一个元素,每次得到的结果存储在表re中

    如果函数对象有多个参数,可用下面的方式:

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

    4.filter()函数

    filter函数第一个参数也是一个函数对象,作用于多个元素。如果函数返回的是true,则该次的元素被储存在返回的表中。filter函数通过函数来筛选符合要求的数据

    def func(a):

        if a>100:

           return ture

         else:

            return false

    print filter(func,[10,145,123,789])

    5.reduce函数

    reduce函数的第一个参数也是函数,这个函数对象作用于二个参数,自身接收2个参数

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

    reduce的第一个参数是lambda函数,它接收二个参数x,y,返回x+y

    reduce将表中的1,2传递给lambda函数,得到3.这个返回值3作为lambda函数的第一个参数,表中的下一个元素54作为lambda第二个参数,得到8,依次调用下一个元素和lambda函数,直到表中没有剩余函数

    最终结果就是24

  • 相关阅读:
    关于Qt国产化系统开发的几点总结
    C#和Qt实现的对于异常处理的一个使用策略
    echarts 自定义省份区块颜色的两种方法
    获取某个文件下的.vue文件
    仿写单选框/多选框
    重置对象属性
    elementUI之树形数据Table遇到的问题
    sass使用记录
    koa的使用记录
    六顶思想帽
  • 原文地址:https://www.cnblogs.com/yana/p/4788638.html
Copyright © 2020-2023  润新知