Wie Sie die maximale Rekursionstiefe in Python erhalten und erhöhen

  1. Verwenden Sie die getrecursionlimit() Funktion, um die maximale Rekursionstiefe in Python zu erhalten
  2. Verwenden Sie die Funktion setrecursionlimit(), um die maximale Rekursionstiefe in Python festzulegen

Dieser Artikel stellt Methoden vor, um die maximale Rekursionstiefe in Python mit den Funktionen getrecursionlimit() und setrecursionlimit() zu erhalten und zu erhöhen.

Verwenden Sie die getrecursionlimit() Funktion, um die maximale Rekursionstiefe in Python zu erhalten

Was ist Rekursion? Rekursion ist der Prozess der Wiederholung.

In Python haben wir einige Grenzen für rekursive Funktionen. Sie gibt an, wie oft sich die Funktion wiederholt. Wir können die Funktion getrecursionlimit() verwenden, um die maximale Rekursionstiefe zu erhalten. Die korrekte Syntax lautet:

sys.getrecursionlimit()

Diese Methode akzeptiert keine Parameter.

Das Programm unten zeigt, wie wir diese Methode verwenden können, um die maximale Rekursionstiefe in Python zu erhalten.

import sys
print(sys.getrecursionlimit())

Ausgabe:

3000

Verwenden Sie die Funktion setrecursionlimit(), um die maximale Rekursionstiefe in Python festzulegen

Wenn die Rekursionstiefe die in Python voreingestellte maximale Rekursionstiefe überschreitet, wird ein RecursionError ausgelöst. Sehen wir uns das folgende Beispiel an.

def Test(i):
    if i > 0:
        return Test(i-1)+1
    else:
        return 0

Test(5000)

Ausgabe:

Traceback (most recent call last):
  File "C:/Test/test.py", line 7, in <module>
    Test(5000)
  File "C:/Test/test.py", line 3, in Test
    return Test(i-1)+1
  File "C:/Test/test.py", line 3, in Test
    return Test(i-1)+1
  File "C:/Test/test.py", line 3, in Test
    return Test(i-1)+1
  [Previous line repeated 1021 more times]
  File "C:/Test/test.py", line 2, in Test
    if i > 0:
RecursionError: maximum recursion depth exceeded in comparison

Wir müssen die maximale Rekursionstiefe erhöhen, um das obige Problem zu lösen. Wir verwenden die Funktion setrecursionlimit(), um die Rekursionsgrenze zu setzen. Die korrekte Syntax zur Verwendung dieser Funktion lautet wie folgt:

sys.setrecursionlimit(limit)

Diese Methode akzeptiert nur einen Parameter. Die Einzelheiten des Parameters sind wie folgt:

Parameter Beschreibung
limit obligatorisch Das ist die Grenze, die wir setzen wollen.

Das Programm unten zeigt, wie wir diese Methode verwenden können, um die Rekursionsgrenze in Python zu setzen.

import sys
sys.setrecursionlimit(5000)
print(sys.getrecursionlimit())

Ausgabe:

5000