首页 > 代码库 > python基础 - lambda关键字

python基础 - lambda关键字

Python中的lambda关键字可以理解为:其功能类似于函数指针。

lambda的官方翻译是匿名函数,这是相对与正常的函数来说的,举例说明:

定义一个正常的函数,实现增1运算:

def plus1(x):
    return x+1

上面的语句实现了:
1. 定义了一个函数,函数名叫:plus1
2. 此函数有一个参数

对应的匿名函数语句写作:

lambda x:x+1

注意,这是一个表达式,所以他实际上是做不了任何事情的。。。


那么我们如果想调用函数来实现增1运算,分别用正常函数和匿名函数的实现举例如下:

实名函数实现:

def plus1(x):
    return x+1

a = 0
a = plus1(a)
print a

匿名函数实现:

func = lambda x:x+1
a = 0
a = func(a)
print a

结论,匿名函数的用法,既像C语言中的宏定义,又C语言中的函数指针


将匿名函数和实名函数结合起来使用就更加好玩了,比如:

def plus1(x):
    return x+1

func = lambda x:plus1(x)
a = 0
a = func(a)
print a
你看,这不就是函数指针的用法了吗?


C语言有了函数指针就变得灵活无比,同样,将lambda用上之后,python也可以变得同样的灵活。

python基础 - lambda关键字