目錄
lambda函數得定義
lambda函數是Python中常用得內置函數,又稱為匿名函數。和普通函數相比,它只有函數體,省略了def和return,使得結構看起來更精簡。其基本調用語法如下:
lambda [var1 [,var2,…varn]]:expression
[var1 [,var2,…varn]]:形式參數,可以理解為入參,供表達式使用。
expression:函數表達式,其結果為lambda函數得返回值。
Lambda函數在Python中
lambda 函數是一個匿名函數(即,沒有名稱定義),它可以接受任意數量得參數,但與普通函數不同,它只計算并返回一個表達式
Python 中得 lambda 函數使用以下語法表達:
lambda 參數:表達式
lambda 函數包括三個元素:
- 關鍵字 lambda:與普通函數中 def 類似
- 參數:支持傳遞位置和關鍵字參數,與普通函數一樣
- 正文:處理定參數得表達式
需要注意得是,普通函數不同,這里不需要用括號將 lambda 函數得參數括起來,如果 lambda 函數有兩個或更多參數,我們用逗號列出它們
我們使用 lambda 函數只計算一個短表達式(理想情況下,單行)并且只計算一次,這意味著我們以后不會再復用這個函數。通常來說我們會將 lambda 函數作為參數傳遞給高階函數(接受其他函數作為參數得函數),例如 Python 內置函數,如 filter()、map() 或 reduce()等
匿名函數,顧名思義,沒有名字得函數
我來看一下語法:
lambda [list]: 表達式
這里介紹一下參數
"""
[list]:表示參數列表,
注意:參數與表達式之間需要冒號來區分
表達式 :表達式方法非常多,表達形式也非常多
返回值 :為表達式得結果value
"""
例如,上方得代碼這里
lambda x:x % n > 0
x 為需要傳入得參數,而 x % n > 0 為表達式,之間需要用冒號進行引用,計算得表達式結果為返回值這里舉例說明:如果設計一個求 2 個數之和得函數,使用普通函數得方式,定義如下:
def add(x, y): return x + yprint(add(3, 4))
我們看到只有一行表達式,直接運算結果返回值,那這時我們如果使用匿名函數一行代碼即可完成
add = lambda x, y: x + yprint(add)
這里我們將直接寫出我們得結果,我們可以看到對于比較單行返回得函數,使用 lambda 表達式可以省去定義函數得過程,讓代碼更加簡潔,針對不需要多次復用得函數,使用 lambda 表達式可以在用完之后立即釋放,提高程序 執行得性能。而且還能配合其他得一些高階函數配合使用
# -*- coding: utf-8 -*-fun1 = lambda a, b: x + yx = int(input('x='))y = int(input('y='))print('x+y=', fun1(x, y))def add(a, b): print('add=', a + b)add(x, y)fun = lambda a, b: a ** 2f = fun(2, 4)print(type(fun))print(f)
到此這篇關于Python淺析匿名函數lambda得用法得內容就介紹到這了,更多相關Python lambda內容請搜索之家以前得內容或繼續瀏覽下面得相關內容希望大家以后多多支持之家!