更新時間:2022-05-13 09:09:14 來源:動力節點 瀏覽1210次
Lambda函數有什么作用?動力節點小編來告訴大家。
lambda函數又稱匿名函數,有些情況下我們不用顯式定義而采用匿名函數會讓代碼看上去更加簡潔。
In [48]: ls = [1,2,3]
In [49]: print(list(map(lambda x:x*x, ls)))
[1, 4, 9]
上面的例子中,通過lambda函數使得我們可以在不顯式定義函數的情況下為map傳遞了一個函數,這使得代碼看上去更為簡潔直觀。
關鍵詞lambda定義了一個匿名函數,冒號前面的是匿名函數的參數(當需要多個參數時,參數之間用逗號,分割),冒號后的是一個表達式,lambda函數的返回內容就是表達式的值。
lambda函數也是一個函數對象,所以也可以賦值給一個變量。
In [50]: lambda x,y:x*x+y*y
Out[50]: <function __main__.<lambda>>
In [51]: f1 = lambda x,y:x*x+y*y
In [52]: f1(1,2)
Out[52]: 5
lambda函數也作為返回值返回。
In [53]: def f():
...: x = 1
...: return lambda y:x*x+y*y # lambda函數引用了本地變量x,并且在函數f結束后保存了x的狀態
...:
In [54]: m = f()
In [55]: m(2)
Out[55]: 5
In [56]: m.__closure__ # 證明m是一個閉包
Out[56]: (<cell at 0x00000132044E9E28: int object at 0x0000000051F260C0>,)
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習