все Python 3sysфункция
sys.setrecursionlimit()
рекурсия
Устанавливает предел глубины рекурсии. Слишком большое значение может уронить процесс по переполнению стека — это не защита, а предохранитель.
Синтаксис
sys.setrecursionlimit(limit: int) -> None
Поднять предел — не значит починить бесконечную рекурсию: RecursionError лишь придёт позже, съев больше памяти, а слишком высокий предел на некоторых платформах может обрушить весь процесс по переполнению стека, уже без traceback. Опустить предел ниже текущей глубины тоже не выйдет — сам вызов поднимет RecursionError. Если алгоритм честно уходит вглубь на десятки тысяч шагов, его переписывают итеративно со своим стеком, а не крутят лимит.
Примеры
import sys
sys.setrecursionlimit(5000)
print(sys.getrecursionlimit()) # → 5000
sys.setrecursionlimit(1000) # → возврат к стандарту
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности