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

  • 相关阅读:
    c/c++生成预编译文件
    (转)vim 访问系统剪贴板
    vim 使用、设置笔记
    使用cygwin注意事项二
    (转)使用cygwin注意事项一
    cygwin Could not create directory '/home/Administrator/.ssh'
    Linux 学习笔记 文件权限
    Linux 学习笔记 Linux环境变量初稿
    Linux 学习笔记 更多的bash shell命令
    Linux 学习笔记 查看文件内容诸多命令
  • 原文地址:https://www.cnblogs.com/yana/p/4788638.html
Copyright © 2011-2022 走看看