每天1分鐘 PYTHON基礎之函式(遞迴函式)

2021-09-26 04:03:42 字數 867 閱讀 6916

1. 定義:

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

2. 遞迴函式特性:

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

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

相鄰兩次重複之間有緊密的聯絡,前一次要為後一次做準備(通常前一次的輸出就作為後一次的輸入)。

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

3. 舉例:

>>

>

defmyfunc

(n):

if n ==1:

return

1# 明確的退出條件,如果沒有,可能會死迴圈,直到記憶體耗盡

return myfunc(n-1)

+ n>>

> myfunc(3)

6>>

>

4. 轉化為迴圈實現

>>

> a =

0>>

>

for n in

range(1

,4):

a = a + n

if n ==3:

print

(a)6

>>

>

每天1分鐘 PYTHON基礎之模組(包)

示範檔案 glance glance init py glance api glance api init py glance api policy.py glance api versions.py glance cmd glance cmd init py glance cmd manage.p...

每天1分鐘 PYTHON基礎之變數

變數定義 變數即為可以變化的量,由於值儲存在記憶體中,故需要取出該值則需要乙個指標,指向該記憶體位址能夠取出該記憶體中的值,而這個指標就是變數名。以下例子定義了乙個變數 user bin env python3 coding utf 8 name 小白too愛學習 上述 宣告了乙個變數,變數名為 n...

每天1分鐘 PYTHON基礎之函式(函式定義)

函式定義 在python中,函式有五大要點,分別是def 函式名 函式體 引數 返回值,以及兩個英文版符號,分別是括號 括號內為引數 和冒號 def funname para docstring funbody return.1.def 函式關鍵字,沒有它不行。2.funname 函式名 函式的名稱...