美文网首页
python lambda 表达式

python lambda 表达式

作者: 清水秋香 | 来源:发表于2020-02-22 03:11 被阅读0次
    • 匿名函数
      python 使用 lambda 来创建匿名函数。
      lambda只是一个表达式,函数体比def简单很多。
      lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
      lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
      虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
      语法
      lambda函数的语法只包含一个语句,如下:
      lambda [arg1 [,arg2,.....argn]]:expression
    >>> def f(x):
    ...     return x*x
    >>> f(2)
    4
    
    >>> lambda x:x*x
    <function <lambda> at 0x1032a0f28>
    >>> f = lambda x:x*x
    >>> f(2)
    4
    >>> 
    
    
    >>> def add(a,b):
    ...     return a+b
    >>> add(1,2)
    3
    
    >>> f = lambda a,b:a+b
    >>> f(1,2)
    3
    
    >>> def uadradic(a,b,c):
    ...     return lambda x:a*x*x + b*x + c
    >>> print(uadradic(1,-1,2)(5))
    22
    
    #也可以带入分支结构
    >>> def getsex(sex):
    ...     if sex == '男':
    ...         return 'man'
    ...     else:
    ...         return 'woman'
    >>> 
    >>> sex = getsex('男')
    >>> print(sex)
    man
    
    >>> getsex = lambda sex: 'man' if sex == '男' else "woman"
    >>> result = getsex('男')
    >>> print(result)
    man
    
    
    

    相关文章

      网友评论

          本文标题:python lambda 表达式

          本文链接:https://www.haomeiwen.com/subject/otpkqhtx.html