Lambda表達式在python程序中是一種很常見的匿名方法的書寫形式,它書寫起來很是簡單,可是犧牲了可讀性。下面來看一下Lambda的簡單介紹。python
語法express
lambda [parameter_list]:expression
Lambda表達式的返回值是一個函數,[parameter_list]是函數的參數,expression是具體的操做。它對應的非匿名方法的書寫方式爲:函數
def function([parameter_list]): expression
以下面的例子:spa
#Function def func(n): return n + 1 print(func(2)) #Lambda f = lambda x:x+1 print(f) print(f(2))
第一種方式是正常的非匿名函數的加一方法,第二種是匿名函數的lambda表達方式。Lambda中的x是表達式返回函數的參數,x+1是具體的函數內容。由於Lambda表達式返回的是一個匿名函數,因此打印結果爲:code
固然Lambda表達式也有如下的使用狀況:blog
#多參數狀況 print("多參數狀況") multi = lambda x,y,z: x+y+z print(multi(1,2,3)) #和非匿名函數一塊工做 print("和非匿名函數一塊工做") def namedFunc(n): return lambda x:n+x print(namedFunc(2)) #會打印出function,至關於 lambda x: 2+x print(namedFunc(2)(3)) #會打印出5 f = namedFunc(2) print(f(3)) #等同於namedFunc(2)(3)
獲得的結果以下:io
對於lambda表達式在Python程序中的一些小建議:function
1. 對於簡單的邏輯處理,能夠放心使用Lambda表達式,這樣比較簡潔class
2. 對於複雜的邏輯處理,儘可能避免使用Lambda表達式,易讀性差,並且容易出錯(大牛除外)匿名函數