python函式遞迴

2021-10-09 08:45:37 字數 782 閱讀 8290

遞迴

什麼是遞迴?

在函式內部,可以呼叫其他函式。如果乙個函式在內部呼叫自已本身,這個函式就叫做遞迴函式。

遞迴兩個階段

**回溯:**是指一層一層調下去,這時候的函式都沒有結束。

**遞推:**是呼叫到某一層,滿足某種結束的條件之後,按照原來的路程一層一層返回

遞迴特性:

1.必須有乙個明確的結束條件

2.每次進入更深一層遞迴時,問題規模相比上次遞迴都應有所減少

3.遞迴效率不高,遞迴層次過多會導致棧溢位(在計算機中,函式呼叫是通過棧(stack)這種資料結構實現的,每當進入乙個函式呼叫,棧就會加一層棧幀,每當函式返回,棧就會減一層棧幀。由於棧的大小不是無限的,所以,遞迴呼叫的次數過多,會導致棧溢位)

4.遞迴在特定場景下還是挺有用的,以後學的一些演算法就得用到遞迴,比如堆排、快排等,現在看還是有些複雜的,以後再講。

l=[1

,2,[

3,[4

,[6,

[7,[

8,]]]]

]]#要求把l裡面的值都取出來

deffo

(li)

:for i in li:

iftype

(i)is

list

: fo(i)

else

:print

(i)fo(l)

python遞迴函式例項 python遞迴函式

python遞迴函式 什麼是遞迴?遞迴,就是在函式執行中自己呼叫自己 示例 def recursion n 定義遞迴函式 print n 列印n recursion n 1 在函式的執行種呼叫遞迴 recursion 1 呼叫函式 這個函式在不斷的自己呼叫自己,每次呼叫n 1,看下執行結果 998t...

python靜態遞迴函式 python遞迴函式

一 遞迴的定義 1.什麼是遞迴 在乙個函式裡在呼叫這個函式本身 2.最大遞迴層數做了乙個限制 997,但是也可以自己限制 1 deffoo 2 print n 3 n 1 4 foo n 5 foo 1 驗證997 3.最大層數限制是python預設的,可以做修改,但是不建議你修改。因為如果用997...

python靜態遞迴函式 python 遞迴函式

前言 本篇關於遞迴基本借鑑下面部落格講解加入自己理解。1.遞迴函式定義 如果乙個函式在函式內部呼叫自己,那這個函式就是遞迴函式。如 defsum arg,stop print arg if arg arg arg sum arg,stop sum 1,20 2.遞迴的特性 1 必須有乙個明確的結束條...