Python中的lambda表达式

来源:互联网 发布:广西百色广电网络 编辑:程序博客网 时间:2024/06/05 06:06

1.Lambda 形式
出于实际需要,有几种通常在函数式编程语言例如 Lisp 中出现的功能加入到了 Python 中。通过 lambda 关键字,可以创建短小的匿名函数。这里有一个函数返回它的两个参数的和: lambda a, b: a+b 。 Lambda 形式可以用于任何需要的函数对象。出于语法限制,它们只能有一个单独的表达式。语义上讲,它们只是普通函数定义中的一个语法技巧。类似于嵌套函数定义,lambda 形式可以从外部作用域引用变量:

>>> def make_incrementor(n):...     return lambda x: x + n...>>> f = make_incrementor(42)>>> f(0)42>>> f(1)43

2.自定义Lambda表达式
lambda x:x[0]+1定义的是一个函数,x是函数传递的参数,x[0]+1是函数返回值。

arg = (4, 5, 10)g = lambda x:x[0]+1print g(arg)  #运行结果为:5.  即(4+1)

addOne()函数是返回lambda定义的一个函数对象

def addOne():    return lambda x:x[0]+1f = addOne()arg = (4, 5, 10)print f(arg)
原创粉丝点击