• lambda()函数 分类: python 20121227 18:01 569人阅读 评论(0) 收藏


    摘抄:

    lambda函数也叫匿名函数,即,函数没有具体的名称。先来看一个最简单例子:

    def f(x):
      return x**2
    print f(4)


    Python中使用lambda的话,写成这样

    g = lambda x : x**2
    print g(4)


    多个参数的:
    m = lambda x,y,z: (x-y)*z
    print m(3,1,2)
    结果是4


    lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。lambda语句构建的其实是一个函数对象,见证一下:

    g = lambda x : x**2
    print g
    <function <lambda> at 0x00AFAAF0>


    Python中,也有几个定义好的全局函数方便使用的,他们就是filter, map, reduce。

    >>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
    >>>
    >>> print filter(lambda x: x % 3 == 0, foo)
    [18, 9, 24, 12, 27]
    >>>
    >>> print map(lambda x: x * 2 + 10, foo)
    [14, 46, 28, 54, 44, 58, 26, 34, 64]
    >>>
    >>> print reduce(lambda x, y: x + y, foo)
    139


    在对象遍历处理方面,其实Python的for..in..if语法已经很强大,并且在易读上胜过了lambda。比如上面map的例子,可以写成:

    print [x * 2 + 10 for x in foo]

    非常的简洁,易懂。



    #lambda加参数

    g = lambda x : x *2
    print g(3)
     
    ===================================
    #lambda不加参数

    a = lambda : 5  #没有参数
    print a()
     
     
    def callback(i):
        print i
     
    b = lambda : callback(10)
    b()


  • 相关阅读:
    Document
    Document
    Document
    Document
    Document
    Document
    8. vue 的生命周期
    7. vue-cli 安装和使用脚手架
    5.组件(2) 之 父级传子级
    6.组件(3) 之 子级传父级
  • 原文地址:https://www.cnblogs.com/think1988/p/4628255.html
Copyright © 2020-2023  润新知