函數遞歸指的是重複的「直接調用或者間接調用」函數自己,是一種函數嵌套調用的表現形式python
直接調用:函數內置,直接調用函數自己函數
num = 1 def func(): global num print("遞歸深度", num) num +=1 func()
間接調用:兩個函數之間相互調用間接形成遞歸操作系統
num = 1 def goo(): global num print('from goo...',num) num += 1 func() def func(): global num print('from func...',num) num += 1 goo()
遞歸深度:python中有遞歸深度,限制遞歸次數,通常在998左右,每一臺的操做系統會根據硬盤來設置默認遞歸深度code
獲取遞歸深度:先調用 獲取操做系統資源的模塊 import sys,而後sys.getrecursionlimit()查看當前遞歸深度blog
設置遞歸深度:先調用 import sys,而後設置sys.setrecursionlimit(深度值)遞歸
單純的遞歸調用是沒有任何意義的,想要遞歸有意義必須遵循的兩個條件:資源
age5 == age4 + 2 age4 == age3 + 2 age3 == age2 + 2 age2 == age1 + 2 age1 == 18 # 回溯遞推的結果
def age(n): if n == 1: return 18 # 這裏寫return才能實現回溯 return age(n - 1) + 2 res = age(5) print(res) # 26