python中匿名函數(shù)的應(yīng)用方法
前言
在Python中有兩種函數(shù):
1、普通函數(shù)def 定義
2、匿名函數(shù)lambda 聲明
一、匿名函數(shù)
匿名函數(shù)是無(wú)需使用def定義的函數(shù),只需使用關(guān)鍵字lambda進(jìn)行聲明,且只可使用一次,只有一個(gè)返回值
二、匿名函數(shù)格式
使用lambda表達(dá)式創(chuàng)建匿名函數(shù),其語(yǔ)法格式如下:
res = lambda[arg1[,arg2,...,argn]]:expression
參數(shù)說(shuō)明:
- res:用于調(diào)用lambda表達(dá)式
- [arg1[,arg2,…,argn]]:可選參數(shù),用于指定要傳遞的參數(shù)列表,多個(gè)參數(shù)使用逗號(hào)“,”分隔
- expression:必選參數(shù),用于指定一個(gè)實(shí)現(xiàn)具體功能的表達(dá)式,如果有參數(shù),那么在該表達(dá)式中將應(yīng)用這些參數(shù)
注意:使用lambda表達(dá)式時(shí),參數(shù)可以有多個(gè),用逗號(hào)“,”分隔,但是表達(dá)式只能有一個(gè),即只能返回一個(gè)值
三、匿名函數(shù)應(yīng)用
1、匿名函數(shù)示例:
res = lambda x,y:x*y print(res(5,7))
說(shuō)明: lambda x, y是匿名函數(shù)的聲明部分,而 x * y則是匿名函數(shù)的實(shí)現(xiàn)部分
2、普通函數(shù)示例:
def caculate(x, y): return x * y print(caculate(5,7))
四、匿名函數(shù)與普通函數(shù)
既然匿名函數(shù)那么簡(jiǎn)潔方便,那是不是匿名函數(shù)能直接代替普通函數(shù)呢?
答案是否定的,可以比較下他們之間的區(qū)別:
1、普通函數(shù)使用def聲明函數(shù),且需要定義函數(shù)名;匿名函數(shù)則無(wú)需定義函數(shù)名,使用lambda關(guān)鍵字即可
2、普通函數(shù)可以有多條語(yǔ)句;匿名函數(shù)只能有一個(gè)表達(dá)式
3、普通函數(shù)可以用于實(shí)現(xiàn)復(fù)雜的功能邏輯處理;而匿名函數(shù)一般用于實(shí)現(xiàn)一些簡(jiǎn)單的功能
4、函數(shù)被多次調(diào)用則使用普通函數(shù);單次調(diào)用使用匿名函數(shù)
到此這篇關(guān)于python中匿名函數(shù)的應(yīng)用方法的文章就介紹到這了,更多相關(guān)python匿名函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pandas中Dataframe合并的實(shí)現(xiàn)
本文主要介紹了如何使用Pandas來(lái)合并Series和Dataframe,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07詳解Python如何精確控制asyncio并發(fā)運(yùn)行多個(gè)任務(wù)
這篇文章主要為大家詳細(xì)介紹了Python如何精確控制asyncio并發(fā)運(yùn)行多個(gè)任務(wù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10分享5個(gè)方便好用的Python自動(dòng)化腳本
這篇文章主要介紹了分享5個(gè)方便好用的Python自動(dòng)化腳本,這次我們使用Python來(lái)實(shí)現(xiàn)幾個(gè)自動(dòng)化場(chǎng)景,或許可以用到你的工作中或者對(duì)你的學(xué)習(xí)有所幫助,需要的朋友可以參考一下2022-03-03Python和Matlab實(shí)現(xiàn)蝙蝠算法的示例代碼
蝙蝠算法是一種搜索全局最優(yōu)解的有效方法,本文主要介紹了Python和Matlab實(shí)現(xiàn)蝙蝠算法的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Django學(xué)習(xí)筆記之ORM基礎(chǔ)教程
ORM,即Object-Relational Mapping(對(duì)象關(guān)系映射),它的作用是在關(guān)系型數(shù)據(jù)庫(kù)和業(yè)務(wù)實(shí)體對(duì)象之間作一個(gè)映射,下面這篇文章主要給大家介紹了關(guān)于Django學(xué)習(xí)筆記之ORM基礎(chǔ)教程的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2018-03-03