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

溫馨提示×

溫馨提示×

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

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

Python中怎么實現遞歸調用

發布時間:2021-08-08 18:57:19 來源:億速云 閱讀:327 作者:Leah 欄目:大數據

這期內容當中小編將會給大家帶來有關Python中怎么實現遞歸調用,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Python中怎么實現遞歸調用

當函數返回時,要從調用棧的棧頂取得返回地址,恢復現場,彈出棧幀,按地址返回

Python中怎么實現遞歸調用


   
Python中怎么實現遞歸調用

   
 

Python中的遞歸深度限制

調用棧也是要占據內存的,所以也不可能設置過大,對調用棧大小Python是有限制的(開始默認1000)

在調試遞歸算法的時候,經常會出現這樣的錯誤:

RecursionError: maximum recursion depth exceeded while calling a Python object

導致這個錯誤的原因就是遞歸的層次太多,系統調用棧的大小有限

導致這個錯誤的原因有兩個情況:

情況一:沒有設置基本結束條件

Python中怎么實現遞歸調用

Traceback (most recent call last):  File "c:\Users\hy\Desktop\daily\daily.py.py", line 15, in <module>    tell_story()  File "c:\Users\hy\Desktop\daily\daily.py.py", line 12, in tell_story    tell_story()  File "c:\Users\hy\Desktop\daily\daily.py.py", line 12, in tell_story    tell_story()  File "c:\Users\hy\Desktop\daily\daily.py.py", line 12, in tell_story    tell_story()  [Previous line repeated 993 more times]  File "c:\Users\hy\Desktop\daily\daily.py.py", line 11, in tell_story    print("“從前有座山,山上有個廟,廟里有個老和尚,他說:”")RecursionError: maximum recursion depth exceeded while calling a Python object
     



06

情況二:程序本身沒錯,但是程序向基本結束條件演進的速度太慢了


例如:調用棧深度1000, 但此刻數列求和函數計算2000個數,那就不行了


06


   
Python中怎么實現遞歸調用

   
 

調整調用棧深度

在python中利用sys內置模塊可以調整調用棧的深度

  • sys.getrecursionlimit( ) 獲取調用棧深度

  • sys.setrecursionlimit(n) 修改調用棧深度

Python中怎么實現遞歸調用

上述就是小編為大家分享的Python中怎么實現遞歸調用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

尖扎县| 衡阳市| 冀州市| 准格尔旗| 易门县| 青龙| 浦城县| 合阳县| 崇文区| 上饶市| 林口县| 格尔木市| 巴楚县| 南通市| 福泉市| 通许县| 高阳县| 罗山县| 神木县| 汽车| 北碚区| 沈丘县| 越西县| 唐海县| 麻江县| 宁蒗| 金寨县| 西贡区| 梓潼县| 岳西县| 张家界市| 天全县| 拉萨市| 尼勒克县| 娄底市| 资阳市| 鄂伦春自治旗| 同德县| 宁远县| 灵宝市| 三门县|