Python中的匿名函数

这些函数被称为匿名函数,因为它们不是通过使用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