zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    css单行排版
    sass安装(windows版)
    php通过post将表单数据保存到数据库实例
    C#-socket简单同步通信学习
    让VS变成彩色码
    VS项目启动后 提示ID为*******的进程当前未运行
    C#实现简单验证码
    API清理xml格式数据
    VS提示-无法启动IIS Express Web服务器-的解决方法
    C#MVC中ztree的简单使用
  • 原文地址:https://www.cnblogs.com/yana/p/4788638.html
Copyright © 2011-2022 走看看