python-匿名函數
阿新 • • 發佈:2018-03-24
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-匿名函數