Какой максимальный уровень рекурсии и как ее изменить в Python?
Максимальный уровень рекурсии в Python
Ответ 1
Значение по умолчанию - 1000 уровней, и вы можете изменить его с помощью функции setrecursionlimit
в модуле sys
.
Внимание:
Остерегайтесь того, что некоторые операционные системы могут столкнуться с проблемами, если вы будете намного выше из-за ограниченного пространства стека.
Ответ 2
Думаю, я добавлю пример кода:
import sys
sys.setrecursionlimit(100000)
Как заметил Lizard, по умолчанию 1000 по какой-то причине, и предупреждение важно. Попытка лимита максимума рекурсии на fibonacci (10000) (return f (n-1) + f (n-2)) была достаточной, чтобы закрыть мою среду разработки Python. Не получение предупреждения о глубине рекурсии не означало, что проблема была решена.