溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python中有哪些高階函數(shù)

發(fā)布時(shí)間:2020-07-31 11:47:53 來源:億速云 閱讀:230 作者:清晨 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)python中有哪些高階函數(shù),小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

1、高階函數(shù)

變量可以指向函數(shù),函數(shù)的參數(shù)可以接收變量,那么函數(shù)可以接收另一個(gè)函數(shù)作為參數(shù),這種函數(shù)稱為高階函數(shù)。

(1)把函數(shù)作為實(shí)參

(2)把函數(shù)作為返回值

python中有哪些高階函數(shù)

2、系統(tǒng)的內(nèi)置高階函數(shù)

(1)map函數(shù):接收兩個(gè)參數(shù),一個(gè)是函數(shù),一個(gè)是序列,map將傳入的函數(shù)依次作用到序列的每個(gè)元素,并且把結(jié)果作為新的列表返回

python中有哪些高階函數(shù)

(2)reduce函數(shù):把一個(gè)函數(shù)作用到一個(gè)序列上,這個(gè)函數(shù)必須接收兩個(gè)參數(shù),reduce把結(jié)果和序列的下一個(gè)元素做累積計(jì)算

python中有哪些高階函數(shù)

(3)filter函數(shù):也接收一個(gè)函數(shù)和一個(gè)序列,和map函數(shù)不同的是,filter函數(shù)把傳入的函數(shù)依次作用于每個(gè)元素,然后返回返回值是True的元素

python中有哪些高階函數(shù)

(4)sorted函數(shù):排序函數(shù)

把用戶名按照首字母不區(qū)分大小寫排序

python中有哪些高階函數(shù)

(5)sorted()函數(shù)按照關(guān)鍵字排序

關(guān)鍵字:商品個(gè)數(shù)

python中有哪些高階函數(shù)(6)sorted()函數(shù)按照關(guān)鍵字排序,用鍵值來查找

python中有哪些高階函數(shù)

(7)lambda匿名函數(shù):有時(shí)候傳參數(shù)時(shí)不需要顯示自定義的函數(shù),直接傳入匿名函數(shù)更方便;冒號(hào)前面的x,y表示函數(shù)參數(shù),匿名函數(shù)不需要擔(dān)心函數(shù)名的沖突,匿名函數(shù)也是一個(gè)函數(shù)對(duì)象,可以把匿名函數(shù)賦值給一個(gè)變量,再利用變量來調(diào)用函數(shù),匿名函數(shù)也可以作為返回值返回

python中有哪些高階函數(shù)

3、高階函數(shù)的應(yīng)用:

(1)sorted函數(shù):

python中有哪些高階函數(shù)

(2)sorted函數(shù)默認(rèn)是從小到大排序

python中有哪些高階函數(shù)

4、裝飾器

裝飾器就是用來裝飾函數(shù)的:想要增加原有函數(shù)的功能,但是不希望修改原有函數(shù)的定義,在代碼運(yùn)行期間動(dòng)態(tài)增加功能的方式

(1)此裝飾器的功能:計(jì)算函數(shù)的運(yùn)行時(shí)間

import functools  

@functools.wraps(f)   ##保留原有函數(shù)的屬性

python中有哪些高階函數(shù)

python中有哪些高階函數(shù)

運(yùn)行結(jié)果:

python中有哪些高階函數(shù)

(2)此裝飾器的功能:用戶登錄認(rèn)證

python中有哪些高階函數(shù)

運(yùn)行結(jié)果:

python中有哪些高階函數(shù)

(3)此裝飾器的功能:認(rèn)證用戶的同時(shí),顯示用戶的轉(zhuǎn)賬金額

import inspect

inspect.getcallargs()將傳的參數(shù)封裝為一個(gè)字典,字典的key值是形式參數(shù),value值是實(shí)參

python中有哪些高階函數(shù)

(4)此裝飾器的功能:確保收到的每個(gè)參數(shù)都是整數(shù),是整數(shù)就求和,否則拋出錯(cuò)誤

python中有哪些高階函數(shù)

python中有哪些高階函數(shù)

(5)此裝飾器的功能:給裝飾器傳參數(shù),是整數(shù)和浮點(diǎn)數(shù)就求和

python中有哪些高階函數(shù)

python中有哪些高階函數(shù)

關(guān)于python中有哪些高階函數(shù)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI