来说说python的lambda函数吧
lambda是python中用来构建匿名函数的关键字,啥叫匿名函数捏,所谓匿名函数就是当你需要使用一个函数完成操作,但懒得给这个函数起名字,恰巧这个函数也不是那么常用,估计以后也不怎么会用到,就用这么一次,那么lambda函数就可以闪亮登场了
先看一个栗子,实现两个数字相加
__author__ = 'MrChen'
#函数定义形式
def myAdd(x , y):
'两个数字相加'
return x+y
print(myAdd(2 , 3.4))
#lambda使用形式-1
myfunc = lambda x , y : x + y
print(myfunc(2 , 3.4))
#都说了不想起名字了!!!为毛上面还要我定义一个临时变量
#好,下面解放那些一提到起函数名就头疼的人
#lambda使用形式-2
print( (lambda x,y:x+y)(2 , 3.4) )
好嘞,虽然最后一个函数的可读性不咋地,但却实实在在的体现出了lambda函数的价值,
1, lambda函数可以免去定义函数的繁琐,使代码更加精简
2, 不用费尽心机绞尽脑汁的想函数名(如果这个函数比较常用,那么还是需要定义函数的)
3, 使用lambda函数有时候使代码更容易理解
下面看看lambda函数到底怎么用吧
在lambda函数中,lambda后面,冒号前面的部分是函数的参数,可以有多个,用逗号隔开;冒号后面是返回值(貌似lambda不支持多行操作,冒号后面直接就是返回值,是个单行操作,如果函数需要多行的话,还是用def吧,个人理解,勿喷)
例如:
lambda x : x**2
x是参数,x**2是返回值,表示实现了一个数字的平方
如果需要直接计算某个值的结果,可以这样搞:
(lambda x : x**2)(3)
第一个括号里面是lambda函数体,第二个括号就是lambda函数的参数了,注意此时的lambda函数和参数一定都要用括号括起来哦