1. 程式人生 > >python-匿名函數

python-匿名函數

cti 後者 代碼 沒有 處理 命名 進階 手冊 嵌入

在Python語言中除了def語句用來定義函數外,還可以用匿名函數lambda,它是Python一種生成函數對象的表達式形式。匿名函數通常是創建了可以被調用的函數,它返回了函數,而並沒有將這個函數命名。lambda有時被叫做匿名函數也就是這個原因,需要一個函數,又不想動腦筋去想名字,這就是匿名函數。

例:

#這段代碼

def calc(x):

    return x**x

print(calc(10))

 #換成匿名函數

calc = lambda x x**x

print(calc(10))

作用:

lambda是一個表達式,而並非語句

因為lambda是一個表達式,所以在python語言中可以出現在def語句所不能出現的位置上; lambda與def語句相比較,後者必須在一開始就要將新函數命名;而前者返回一個新函數,可以有選擇性的賦值變量名

lambda主體只是單個表達式,並而一個代碼塊。

lambda與普通函數function定義方法來比較它的功能更小,它只是一個為簡單函數所服務的對象,而def能處理更大型的數據任務。

為什麽要使用lambda?

用python學習手冊中的一段話來回答這個問題非常好“lambda有起到速寫函數的作用,允許在使用的代碼內嵌入一個函數的定義。在僅需要嵌入一小段可執行代碼的情況 下,就可以帶來更簡潔的代碼結構。”lambda的使用在python基礎知識學習中就會遇到,但真正應用時還是在python進階的階段,這時需要你做更深入學習。

python-匿名函數