美文网首页
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