lambda方法

lambda只是一個表達式,函數體比def簡單不少。 lambda的主體是一個表達式,而不是一個代碼塊。僅僅能在lambda表達式中封裝有限的邏輯進去。 lambda表達式是起到一個函數速寫的做用。容許在代碼內嵌入一個函數的定義。 lambda x,y : x+y 能夠這樣理解(x,y 是參數;x+y 是return回來的值)函數

例如: 定義了一個lambda表達式,求三個數的和。io

f = lambda x,y,z : x+y+z f(1,2,3) 6lambda

用lambda表達式求n的階乘。block

n = 5 reduce(lambda x,y : x*y, range(1,1+n)) 120return

lambda表達式也能夠用在def函數中。參數

def action(x): return lambda y : x+y a = action(2) a(22) 24 這裏定義了一個action函數,函數返回值是一個lambda表達式封裝

這裏也能夠把def直接寫成lambda形式。以下

b = lambda x : lambda y : x+y a = b(3) a(2) 5

相關文章
相關標籤/搜索