Python Glossary English

все Python 3sysфункция

sys.getrecursionlimit()

рекурсия

Возвращает текущий предел глубины рекурсии интерпретатора (по умолчанию 1000). При его превышении поднимается RecursionError.

Синтаксис

sys.getrecursionlimit() -> int

Предел считает глубину всего стека интерпретатора, а не только вызовов вашей функции: если рекурсия запускается из-под нескольких вложенных вызовов, до RecursionError останется заметно меньше тысячи шагов. Значение общее для процесса, так что использовать его как точный бюджет глубины алгоритма не стоит — это предохранитель, а не мера памяти.

Примеры

import sys
print(sys.getrecursionlimit())  # → 1000
print(isinstance(sys.getrecursionlimit(), int))  # → True
sys.setrecursionlimit(2000)
print(sys.getrecursionlimit())  # → 2000
sys.setrecursionlimit(1000)  # вернули значение по умолчанию
def deep(n): return deep(n + 1)
print(deep(0))  # → RecursionError

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности