python基礎 遞迴函式

2022-07-09 01:45:08 字數 1041 閱讀 3490

遞迴函式:能自己呼叫自己的函式。

特點:1必須有乙個明確的結束條件。否則會成死迴圈

2每次進入更深一層遞迴時,問題規模比上一層要減少。否則記憶體會撐爆

3遞迴效率不高,容易導致棧溢位。

引入遞迴函式,先看乙個函式呼叫的執行順序。

執行順序:如下圖。執行**過程中遇到函式,會在記憶體中載入函式,但不會執行,呼叫才會執行。呼叫函式就進入函式內部,執行完呼叫的函式後,獲取return,在繼續執行下面步驟(如2.1-2.5執行完後,才會執行3)

看一段**

執行結果的10,5,2,1都是往深層遞迴,而遞迴到n==1時,在往上層返回,後面列印的2,5,10就是返回上層的證明

Python基礎 遞迴函式

通俗一點來說在函式的內部,直接去呼叫其他函式的方式叫做函式的巢狀.但是,如果這個函式呼叫的是自身呢?這個樣子的函式自身就屬於遞迴函式 經典例項 階乘自身就能用遞迴函式來表達出來 1 1 2 2 1 3 3 2 1 n n n 1 2 1以上是簡單直接說明了階乘的表達,接下來至二級用函式來進行直接表達...

python基礎 函式遞迴

函式不僅可以巢狀定義,還可以巢狀呼叫,即在呼叫乙個函式的過程中,函式內部又呼叫另乙個函式,而函式的遞迴呼叫指的是在呼叫乙個函式的過程中又直接或間接地呼叫該函式本身 例如在呼叫f1的過程中,又呼叫f1,這就是直接呼叫函式f1本身 在呼叫f1的過程中,又呼叫f2,而在呼叫f2的過程中又呼叫f1,這就是間...

python基礎 函式遞迴

遞迴是一種程式設計思想,應用場景 在我們日常開發中,如果要遍歷乙個資料夾下面所有的檔案,通常會使用遞迴來實現 在後續的演算法課程中,很多演算法都離不開遞迴,例如 快速排序。3 2 1 def sum numbers num 1.如果是1,直接返回1 出口 if num 1 return 1 2.如果...