Python中匿名函数lambda的用法

除了def语句之外,Python还提供了一种生成函数对象的表达式形式。这个表达式创建了一个之后能够调用的函数,但是它返回了一个函数而不是将这个函数赋值给一个变量名称。 

lambda表达式

lambda的一般形式是关键字lambda,之后是一个或者多个参数,紧跟的是一个冒号,之后是一个表达式: lambda argument1 argument2 ... :expression using arguments

lambda是一个表达式,而不是一个语句。

作为一个表达式,lambda返回了一个值,可以选择性地赋值给一个变量名。相反,def语句总是得在头部将一个新的函数赋值给一个变量名,而不是将这个函数作为结果返回。

lambda主体是一个单一的表达式,而不是一个代码块。

默认参数也能够在lambda参数中使用,就像在def中使用一样。

我们先来一个简单的例子

x = (lambda a = 'www.', b = 'sulao', c = '.cn': a + b + c)
print(x())

打印结果

www.sulao.cn

上面的匿名函数我们也可以使用普通函数表示

def y(a = 'www.', b = 'sulao', c = '.cn'):
    return a + b + c
print(x())

同样打印结果

www.sulao.cn

匿名函数的优势是在程序中省略定义函数的过程,同时在一些抽象的过程中可以不用构建函数名,有时想一个函数名也是一个难题

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/292.html