简述
除了def语句之外,Python还提供了一种生成函数工具的表达式形式。这个表达式建设了一个之后可以或许挪用的函数,可是它返回了一个函数而不是将这个函数赋值给一个变量名称。
lambda表达式
lambda的一般形式是要害字lambda,之后是一个可能多个参数,紧跟的是一个冒号,之后是一个表达式: lambda argument1 argument2 … :expression using arguments
lambda是一个表达式,而不是一个语句。
作为一个表达式,lambda返回了一个值,可以选择性地赋值给一个变量名。相反,def语句老是得在头部将一个新的函数赋值给一个变量名,而不是将这个函数作为功效返回。
lambda主体是一个单一的表达式,而不是一个代码块。
默认参数也可以或许在lambda参数中利用,就像在def中利用一样。
>>>x = (lambda a = "www.", b = "pythontab", c = ".com": a + b +c) >>>x("bbs.") 'bbs.pythontab.com'
为什么利用lambda
1. 利用Python写一些执行剧本时,利用lambda可以省去界说函数的进程,让代码越发精简。
2. 对付一些抽象的,不会此外处所再复用的函数,有时候给函数起个名字也是个困难,利用lambda不需要思量定名的问题。
3. 利用lambda在某些时候让代码更容易领略。