資料內(nèi)容:
一、函數(shù)式編程
Python 的函數(shù)式編程(Functional Programming, FP)是?種編程范式。
可通過閉包思想完成這?特性,閉包是引?了此函數(shù)外部嵌套函數(shù)的變量的函數(shù),并把該函數(shù)作為返回值
閉包必須滿?以下三個(gè)條件:
Python 應(yīng)?進(jìn)階(1)
必須有?個(gè)內(nèi)嵌函數(shù)
內(nèi)嵌函數(shù)必須引?外部函數(shù)中變量
外部函數(shù)返回值必須是內(nèi)嵌函數(shù)
優(yōu)點(diǎn):
邏輯連續(xù),當(dāng)閉包作為另?個(gè)函數(shù)調(diào)?參數(shù)時(shí),避免脫離當(dāng)前邏輯?單獨(dú)編寫額外邏輯。
?便調(diào)?上下?的局部變量。
加強(qiáng)封裝性,是第 2 點(diǎn)的延伸,可以達(dá)到對(duì)變量的保護(hù)作?。
缺點(diǎn):
引?在,空間不滅:閉包使得函數(shù)中的變量保存在內(nèi)存中,內(nèi)存消耗很?
裝飾器:
裝飾器的核?作?是在不修改原函數(shù)代碼的前提下,增強(qiáng)其功能。
裝飾器是 Python 對(duì)閉包思想的具體語法實(shí)現(xiàn),其功能就是在不破壞?標(biāo)函數(shù)原有的代碼和功能的前提
下,為?標(biāo)函數(shù)增加新功能。
?志記錄:可以使?裝飾器來記錄函數(shù)的輸?、輸出或執(zhí)?時(shí)間。
認(rèn)證和授權(quán):裝飾器可以?于檢查?戶是否有權(quán)限執(zhí)?特定操作。
緩存:裝飾器可以緩存函數(shù)的結(jié)果,從?提?執(zhí)?效率。
參數(shù)驗(yàn)證:可以使?裝飾器來驗(yàn)證函數(shù)的輸?參數(shù)是否符合預(yù)期。