修復 Python recursionerror: maximum recursion depth exceeded in comparison

Haider Ali 2022年5月17日
修復 Python recursionerror: maximum recursion depth exceeded in comparison

本文將介紹如何解決 Python 中的 recursionerror: maximum recursion depth exceeded in comparison 錯誤。首先,我們需要了解程式語言中的遞迴是什麼。

修復 Python 中的 recursionerror:比較中超出最大遞迴深度 錯誤

當你在函式體內呼叫函式本身時,就會發生遞迴。它像一個迴圈一樣工作,直到滿足某個條件;遞迴繼續。但在 Python 中情況有所不同。Python 中存在最大遞迴深度限制。例如,看看下面的程式碼示例。

#function definition
def func():
    print("Hello Python")
    
    #recursive Call
    func()

#uncomment this to run the function 
#func()

如果你執行上面的程式碼,它會列印 Hello Python 直到某個限制;然後,它會給出這個確切的錯誤。那麼,如何根據自己的選擇調整限制呢?你可以匯入模組並檢查最大遞迴深度。看看下面的程式碼。

#import module
import sys
#function to check the default maximum recursion depth
print(sys.getrecursionlimit())

通過執行上述程式碼,你將獲得系統的遞迴限制。你可以使用上面的程式碼檢查最大遞迴深度。要調整限制,你可以執行以下程式碼。

#To increase or decrease the limit
sys.setrecursionlimit(2000)
Author: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn

相關文章 - Python Error