標籤:int 工作 exp 多參數 class 出錯 匿名方法 使用方式 簡潔
Lambda運算式在python程式中是一種很常見的匿名方法的書寫形式,它書寫起來非常簡單,但是犧牲了可讀性。下面來看一下Lambda的簡單介紹。
文法
lambda [parameter_list]:expression
Lambda運算式的傳回值是一個函數,[parameter_list]是函數的參數,expression是具體的操作。它對應的非匿名方法的書寫方式為:
def function([parameter_list]): expression
如下面的例子:
#Functiondef func(n): return n + 1print(func(2))#Lambdaf = lambda x:x+1print(f)print(f(2))
第一種方式是正常的非匿名函數的加一方法,第二種是匿名函數的lambda表達方式。Lambda中的x是運算式返回函數的參數,x+1是具體的函數內容。因為Lambda運算式返回的是一個匿名函數,所以列印結果為:
當然Lambda運算式也有以下的使用方式:
#多參數情況print("多參數情況")multi = lambda x,y,z: x+y+zprint(multi(1,2,3))#和非匿名函數一塊工作print("和非匿名函數一塊工作")def namedFunc(n): return lambda x:n+xprint(namedFunc(2)) #會列印出function,相當於 lambda x: 2+xprint(namedFunc(2)(3)) #會列印出5f = namedFunc(2)print(f(3)) #等同於namedFunc(2)(3)
得到的結果如下:
對於lambda運算式在Python程式中的一些小建議:
1. 對於簡單的邏輯處理,可以放心使用Lambda運算式,這樣比較簡潔
2. 對於複雜的邏輯處理,盡量避免使用Lambda運算式,易讀性差,而且容易出錯(大牛除外)
Python中的Lambda運算式