【1】何為Lambda表達式?
我們以一張圖形進入主題:
從圖中我們可以看出lambda表達式幾點特徵:
簡潔性,符合了Python的一貫宗旨;起到了函數的作用,但未顯示函數名稱,這就是匿名函數;有形參;有返回值的。【2】Lambda表達式如何實現函數功能?
首先,看一個返回所有參數和的函數:
# 返回所有參數和def pSum(a,b,c):return a + b + cpSum(10,40,50)
函數中必須要用return才能實現「和」的返回。
接著我們嘗試用lambda表達式來實現上述函數功能:
# labmda表達式psum = lambda a,b,c:a + b + cprint(psum) # 驗證是否生成一個新對象print(psum(10,40,50)) # 驗證執行效果
【結論】lambda實現了函數的效果。
【3】Lambda表達式有何應用場景?
學到這裡,我們可以立馬想到一個問題:lambda表達式有什麼應用呢?是否可以用來創建列表、元組、字典或其他自定義的類型呢?
我們可以嘗試創建列表:
# lambda表達式創建列表plist = [lambda a:a*2,lambda b:b*3,lambda c:c*4]# 列印列表元素print(plist[0](10),plist[1](40),plist[2](50)) # 生成元組l = plist[0](10),plist[1](40),plist[2](50)print(l)# 生成列表list(l)
看看執行效果是否符合預期:
【結論】lambda表達式是可以用來創建列表和元組的。
其他的功能探索可以在深度學習時進一步探索、總結。