十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章主要介紹“python中遞歸函數(shù)與匿名函數(shù)的特性”,在日常操作中,相信很多人在python中遞歸函數(shù)與匿名函數(shù)的特性問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”python中遞歸函數(shù)與匿名函數(shù)的特性”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供民和網(wǎng)站建設(shè)、民和做網(wǎng)站、民和網(wǎng)站設(shè)計(jì)、民和網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、民和企業(yè)網(wǎng)站模板建站服務(wù),十余年民和做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
def fib(n): return 1 if n < 2 else fib(n-1) + fib(n-2) n = 20 for i in range(n): print(fib(i), end=' ') #輸出:1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
調(diào)用自己本身的函數(shù)叫遞歸函數(shù);
pre = 1 next = 1 print(pre, end=' ') print(next, end=' ') for i in range(10): pre, next = next, pre+next print(next, end=' ') print() #輸出:1 1 2 3 5 8 13 21 34 55 89 144
類似:1, 1, 2, 3, 5, 8, 13, 21, 34, 55…..的一個(gè)數(shù)列;
數(shù)列的前兩項(xiàng)都是1,第三項(xiàng)開始,每一項(xiàng)都是前兩項(xiàng)之和;
F1 = 1, F2 = 1, F(n) = F(n-1) + F(n-2), 且遞歸一定需要有結(jié)束條件;
遞歸一定需要有結(jié)束條件;
每次進(jìn)入更深一層遞歸時(shí),問題規(guī)模比上一次遞歸都應(yīng)有所減少;
通常前一次遞歸的輸出就作為后一次遞歸的輸入;
遞歸效率不高,遞歸層次過多會(huì)導(dǎo)致棧溢出;
#定義匿名函數(shù) fn = lambda x: x+1 y = fn(3) print(y) # 輸出:4 #匿名函數(shù)自調(diào)用 (lambda x: print(x+2))(4) #輸出:6
沒有名字的函數(shù)就是匿名函數(shù),并且因?yàn)槟涿瘮?shù)沒有名字,所以不必?fù)?dān)心函數(shù)名沖突;
在Python中,借助lambda表達(dá)式構(gòu)建匿名函數(shù),關(guān)鍵字lambda表示匿名函數(shù),冒號(hào)前面的變量名表示函數(shù)參數(shù);
匿名函數(shù)可以實(shí)現(xiàn)自調(diào)用(也就是自己調(diào)用自己);
如何簡(jiǎn)化匿名函數(shù)的代碼;
# 匿名函數(shù)在高階函數(shù)中的使用 y = [x for x in (lambda *args: map(lambda x: x + 10, args))(*range(10))] print(y) #輸出:[10, 11, 12, 13, 14, 15, 16, 17, 18, 19] # 將上面的列表解析式進(jìn)行拆分 fn = lambda x: x + 10 w = (lambda *args: map(fn, args))(*range(10)) y = [x for x in w] print(y) #輸出:[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
高階函數(shù)就是把函數(shù)當(dāng)成參數(shù)傳遞的一種函數(shù);
現(xiàn)在的課程還沒有講到,以后的課程會(huì)系統(tǒng)講解;
需要特別注意一下匿名函數(shù)在高階函數(shù)map( )函數(shù)中的使用場(chǎng)景;
到此,關(guān)于“python中遞歸函數(shù)與匿名函數(shù)的特性”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!