все 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Сообщить о неточности