1、lambda關(guān)鍵字用于創(chuàng)建匿名函數(shù),和三元操作符一樣,匿名函數(shù)在很大程度上簡化了函數(shù)的定義過程。
lambda的基本用法:
lambda使用冒號(hào)分割函數(shù)的參數(shù)和函數(shù)的返回值,冒號(hào)的左邊為函數(shù)的參數(shù),如果參數(shù)為多個(gè)則使用逗號(hào)分割開,冒號(hào)的右邊是函數(shù)的返回值。
lambda表達(dá)式的返回值為函數(shù)對(duì)象,如果要對(duì)函數(shù)對(duì)象進(jìn)行調(diào)用,只需要給函數(shù)對(duì)象一個(gè)臨時(shí)名字即可。
>>> def a(x):
return x + 10
>>> a(5)
15
>>> lambda x : x + 10 ## 冒號(hào)左邊為函數(shù)參數(shù),冒號(hào)右邊為函數(shù)返回值,lambda表達(dá)式返回函數(shù)對(duì)象
<function <lambda> at 0x000002079375D040>
>>> b = lambda x : x + 10 ## 如果對(duì)函數(shù)進(jìn)行調(diào)用,給函數(shù)對(duì)象臨時(shí)名字即可
>>> b(5)
15
>>> c = lambda x,y,z : x * y / z ## 如果函數(shù)有多個(gè)參數(shù),參數(shù)中間使用逗號(hào)隔開即可
>>> c(5,4,3)
6.666666666666667
2、將lambda應(yīng)用在閉包中
>>> def a(x):
def b(y):
return x - y
return b
>>> a(10)(3)
7
>>> def c(x):
temp = lambda y: x - y ## 使用lambda表達(dá)式代替函數(shù)定義
return temp
>>> c(3)(1)
2
>>> c(10)(3)
7
>>>
聯(lián)系客服