这些函数被称为匿名函数,因为它们不是通过使用def关键字以标准方式声明的。您可以使用lambda关键字创建小的匿名函数。
Lambda形式可以接受任意数量的参数,但仅以表达式形式返回一个值。它们不能包含命令或多个表达式。
匿名函数不能直接调用print,因为lambda需要一个表达式
Lambda函数具有其自己的本地命名空间,并且无法访问其参数列表和全局命名空间中的变量以外的变量。
尽管看来lambda是函数的单行版本,但是它们并不等效于C或C ++中的内联语句,其目的是出于性能原因在调用期间传递函数堆栈分配。
lambda函数的语法仅包含一个语句,如下所示-
lambda [arg1 [,arg2,.....argn]]:expression
以下是显示lambda函数形式如何工作的示例-
#!/usr/bin/python # Function definition is here sum = lambda arg1, arg2: arg1 + arg2; # Now you can call sum as a function print "Value of total : ", sum( 10, 20 ) print "Value of total : ", sum( 20, 20 )
输出结果
执行以上代码后,将产生以下结果-
Value of total : 30 Value of total : 40