亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

扎鲁特旗| 浏阳市| 南雄市| 宜良县| 科技| 孝昌县| 宿松县| 吴桥县| 龙井市| 垣曲县| 德昌县| 旌德县| 彭水| 库伦旗| 政和县| 巴南区| 洮南市| 龙州县| 田林县| 雷波县| 哈密市| 拉萨市| 双桥区| 孟津县| 北宁市| 大城县| 宝兴县| 尖扎县| 钟祥市| 河间市| 米林县| 县级市| 灌云县| 徐水县| 长寿区| 大名县| 贡觉县| 顺平县| 隆安县| 靖州| 松阳县|