ambda只是一個表達式,函數體比def簡單很多,很多時候定義def,然后寫一個函數太麻煩,這時候就可以用lambda定義一個匿名函數。
lambda的主體是一個表達式,而不是一個代碼塊。僅僅能在lambda表達式中封裝有限的邏輯進去。
lambda表達式是起到一個函數速寫的作用。允許在代碼內嵌入一個函數的定義。
例如:使用lambda表達式定義了一個匿名函數,用於篩選100以內的3的倍數,並生成一個列表。
1 list(filter(lambda x: True if x % 3 == 0 else False, range(100)))
lambda也可以嵌套在一個函數內使用,如下,函數中嵌套了一個lambda表達式。
1 def make_repeat(n): 2 return lambda s : s * n