91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中遞歸函數與匿名函數的特性

發布時間:2021-08-26 16:51:45 來源:億速云 閱讀:119 作者:chen 欄目:編程語言

這篇文章主要介紹“python中遞歸函數與匿名函數的特性”,在日常操作中,相信很多人在python中遞歸函數與匿名函數的特性問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python中遞歸函數與匿名函數的特性”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1.什么是遞歸函數
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
  • 調用自己本身的函數叫遞歸函數;

2.斐波那契數列
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…..的一個數列;

  • 數列的前兩項都是1,第三項開始,每一項都是前兩項之和;

  • F1 = 1, F2 = 1, F(n) = F(n-1) + F(n-2), 且遞歸一定需要有結束條件;

3.遞歸函數的特性
  • 遞歸一定需要有結束條件;

  • 每次進入更深一層遞歸時,問題規模比上一次遞歸都應有所減少;

  • 通常前一次遞歸的輸出就作為后一次遞歸的輸入;

  • 遞歸效率不高,遞歸層次過多會導致棧溢出;

4.匿名函數
#定義匿名函數
fn = lambda x: x+1
y = fn(3)
print(y)
# 輸出:4
#匿名函數自調用
(lambda x: print(x+2))(4)
#輸出:6
  • 沒有名字的函數就是匿名函數,并且因為匿名函數沒有名字,所以不必擔心函數名沖突;

  • 在Python中,借助lambda表達式構建匿名函數,關鍵字lambda表示匿名函數,冒號前面的變量名表示函數參數;

  • 匿名函數可以實現自調用(也就是自己調用自己);

  • 如何簡化匿名函數的代碼;

5.高階函數
# 匿名函數在高階函數中的使用
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]
# 將上面的列表解析式進行拆分
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]
  • 高階函數就是把函數當成參數傳遞的一種函數;

  • 現在的課程還沒有講到,以后的課程會系統講解;

  • 需要特別注意一下匿名函數在高階函數map( )函數中的使用場景;

到此,關于“python中遞歸函數與匿名函數的特性”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

息烽县| 汝州市| 彭阳县| 丹寨县| 泰兴市| 鄂温| 广水市| 五莲县| 鸡泽县| 西贡区| 卫辉市| 遂溪县| 和田县| 玉龙| 东阳市| 吉首市| 南郑县| 景东| 平罗县| 延庆县| 游戏| 怀仁县| 富裕县| 建瓯市| 锦州市| 积石山| 白山市| 张家口市| 苍南县| 新民市| 板桥市| 县级市| 旬邑县| 金溪县| 定远县| 海兴县| 仙居县| 密山市| 纳雍县| 丹阳市| 曲水县|