一般情況下,lambda就像是一個(gè)函數(shù)簡化器,它允許在所用代碼中嵌入函數(shù)的定義。它們完全是可選的(一直都可以使用def替換它們),但只需嵌入少量可執(zhí)行代碼,就能使代碼結(jié)構(gòu)更加簡潔,從而大大簡化代碼復(fù)雜性,提高代碼可讀性。
1、優(yōu)點(diǎn)
(1)減少重復(fù)代碼;
(2)模塊化代碼。
2、實(shí)例
# def函數(shù)
def square(x):
return x**2
squared = map(square, [1, 2, 3, 4, 5])
# lambda函數(shù)
squared = map(lambda x: x**2, [1, 2, 3, 4, 5])
知識點(diǎn)擴(kuò)展:
什么是匿名函數(shù)
在python中,匿名函數(shù),顧名思義,就是沒有名字的函數(shù),它主要用在那些只使用一次的場景中。如果我們的程序中只需要調(diào)用一次某個(gè)簡單邏輯,把它寫成函數(shù)還需要先定義、取函數(shù)名字等一些列操作,這種場景下使用匿名函數(shù)往往能夠讓你的程序更加簡單。
匿名函數(shù)還有名稱,叫做lambda
----計(jì)算一個(gè)數(shù)的平方---
>>> lambda x: x**2
function lambda> at 0x7f6ebe013a28>
---注意,這個(gè)是一個(gè)函數(shù)的地址---
>>> func=lambda x: x**2
>>> func(2)
4
>>>
>>> func(3)
9
利用lambda,我們實(shí)現(xiàn)對一個(gè)數(shù)字x求平方的運(yùn)算,在python中,**代表乘方操作。
上面的例子中,x就是參數(shù),冒號后面的x**2就是expression表達(dá)式。
到此這篇關(guān)于python匿名函數(shù)的實(shí)例用法的文章就介紹到這了,更多相關(guān)python匿名函數(shù)的好處內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- python 匿名函數(shù)與三元運(yùn)算學(xué)習(xí)筆記
- 深入淺析Python 函數(shù)注解與匿名函數(shù)
- python匿名函數(shù)lambda原理及實(shí)例解析
- Python函數(shù)的返回值、匿名函數(shù)lambda、filter函數(shù)、map函數(shù)、reduce函數(shù)用法實(shí)例分析
- python匿名函數(shù)的使用方法解析