這篇文章將為大家詳細(xì)講解有關(guān)python中有哪些高階函數(shù),小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)服務(wù)項目包括文成網(wǎng)站建設(shè)、文成網(wǎng)站制作、文成網(wǎng)頁制作以及文成網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,文成網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到文成省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
1、高階函數(shù)
變量可以指向函數(shù),函數(shù)的參數(shù)可以接收變量,那么函數(shù)可以接收另一個函數(shù)作為參數(shù),這種函數(shù)稱為高階函數(shù)。
(1)把函數(shù)作為實參
(2)把函數(shù)作為返回值
2、系統(tǒng)的內(nèi)置高階函數(shù)
(1)map函數(shù):接收兩個參數(shù),一個是函數(shù),一個是序列,map將傳入的函數(shù)依次作用到序列的每個元素,并且把結(jié)果作為新的列表返回
(2)reduce函數(shù):把一個函數(shù)作用到一個序列上,這個函數(shù)必須接收兩個參數(shù),reduce把結(jié)果和序列的下一個元素做累積計算
(3)filter函數(shù):也接收一個函數(shù)和一個序列,和map函數(shù)不同的是,filter函數(shù)把傳入的函數(shù)依次作用于每個元素,然后返回返回值是True的元素
(4)sorted函數(shù):排序函數(shù)
把用戶名按照首字母不區(qū)分大小寫排序
(5)sorted()函數(shù)按照關(guān)鍵字排序
關(guān)鍵字:商品個數(shù)
(6)sorted()函數(shù)按照關(guān)鍵字排序,用鍵值來查找
(7)lambda匿名函數(shù):有時候傳參數(shù)時不需要顯示自定義的函數(shù),直接傳入匿名函數(shù)更方便;冒號前面的x,y表示函數(shù)參數(shù),匿名函數(shù)不需要擔(dān)心函數(shù)名的沖突,匿名函數(shù)也是一個函數(shù)對象,可以把匿名函數(shù)賦值給一個變量,再利用變量來調(diào)用函數(shù),匿名函數(shù)也可以作為返回值返回
3、高階函數(shù)的應(yīng)用:
(1)sorted函數(shù):
(2)sorted函數(shù)默認(rèn)是從小到大排序
4、裝飾器
裝飾器就是用來裝飾函數(shù)的:想要增加原有函數(shù)的功能,但是不希望修改原有函數(shù)的定義,在代碼運行期間動態(tài)增加功能的方式
(1)此裝飾器的功能:計算函數(shù)的運行時間
import functools
@functools.wraps(f) ##保留原有函數(shù)的屬性
運行結(jié)果:
(2)此裝飾器的功能:用戶登錄認(rèn)證
運行結(jié)果:
(3)此裝飾器的功能:認(rèn)證用戶的同時,顯示用戶的轉(zhuǎn)賬金額
import inspect
inspect.getcallargs()將傳的參數(shù)封裝為一個字典,字典的key值是形式參數(shù),value值是實參
(4)此裝飾器的功能:確保收到的每個參數(shù)都是整數(shù),是整數(shù)就求和,否則拋出錯誤
(5)此裝飾器的功能:給裝飾器傳參數(shù),是整數(shù)和浮點數(shù)就求和
關(guān)于python中有哪些高階函數(shù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
網(wǎng)頁名稱:python中有哪些高階函數(shù)
當(dāng)前URL:http://jinyejixie.com/article0/ipgoio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航、微信公眾號、微信小程序、全網(wǎng)營銷推廣、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)