Python - lambda函数

1. lambda函数

    lambda函数又称匿名函数,lambda的主体是一个表达式而不是代码块,因此仅仅能在lambda表达式中封装有限的逻辑进去。

    lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。

函数定义如下:

  lambda<param1, param2, ...,paramN> : <expression>

    

    可以把lambda函数赋值给一个变量,这种情况下变量看起来就像是标准的Python函数名。   

straight_line = lambda m, x, c: m * x + c
straight_line(2, 4, 3)
print(straight_line(2, 4, 3))

    也可以进行带有分支的结构

def getsex(sex):
    if sex == '男':
        return 'man'
    else:
        return 'woman'


sex = getsex('男')
print(sex)

用lambda函数来实现:

变量名 = lambda 参数,参数... :真值 if 条件表达式 else 假值

getsex = lambda sex: 'man' if sex == '男' else "woman"
result = getsex('男')
print(result)