來說說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函數和參數一定都要用括號括起來哦