Python lambda函數

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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章