你好,我是景霄。
上一节,我们一起学习了 Python 中的“常规”函数,用途十分广泛。不过,除了常规函数,你应该也会在代码中见到一些“非常规”函数,它们往往很简短,就一行,并且有个很酷炫的名字——lambda,没错,这就是匿名函数。
匿名函数在实际工作中同样举足轻重,正确地运用匿名函数,能让我们的代码更简洁、易读。这节课,我们继续 Python 的函数之旅,一起来学习这个简约而不简单的匿名函数。
匿名函数基础
首先,什么是匿名函数呢?以下是匿名函数的格式:
lambda argument1, argument2,... argumentN : expression
我们可以看到,匿名函数的关键字是 lambda,之后是一系列的参数,然后用冒号隔开,最后则是由这些参数组成的表达式。我们通过几个例子看一下它的用法:
square = lambda x: x**2
square(3)
9
这里的匿名函数只输入一个参数 x,输出则是输入 x 的平方。因此当输入是 3 时,输出便是 9。如果把这个匿名函数写成常规函数的形式,则是下面这样:
def square(x):
return x**2
square(3)
9
可以看到,匿名函数 lambda 和常规函数一样,返回的都是一个函数对象(function object),它们的用法也极其相似,不过还是有下面几点区别。
第一,lambda 是一个表达式(expression),并不是一个语句(statement)。