Python——Lambda表达式

Lambda表达式

Lambda表达式也称作匿名函数。名字叫匿名函数,自然这类函数的特点就是不需要特别去定义函数的名字。通常在需要一个函数,但又不想费神去命名它的时候,就可以使用匿名函数。
例:

def add(x, y):
    return x + y

lambda  x, y: x+y

例子中:

add函数的作用是返回两个参数“x”和“y”的和,改写成lambda表达式就是“lambda x, y: x+y”。 以lambda开头,表示这是个lambda表达式。之后的内容由“:”分为两部分:“:”左边的是函数的参数,在例子中就是“x”和“y”,与定义一般函数时括号中的参数一致;“:”右边的就是要返回的值,lambda表达式不需要用“return”关键字返回内容,函数默认会返回“:”右边的值。注意例子中的lambda表达式并没有函数名。
我们也可以把lambda表达式赋值给变量,例如;

f = lambda x, y: x+y

print(f)

z = f(1, 2)
print(z)

执行结果如下:

<function <lambda> at 0x0000018E09F8E310>
3

既然lambda表达式没有函数名字,那么在什么时候会用到lambda表达式呢?一般有以下两种情况:

  1. 程序只执行一次,不需要定义函数名,使用lambda表达式方便定义,并且节省了内存中变量的定义;
  2. 在某些函数中必须以函数作为参数,但是函数本身十分简单而且只在一处使用。

你可能感兴趣的:(python)