Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: python sys recursion limit: Как устанaвливать и модифицировать?

  1. python sys recursion limit: Как устанaвливать и модифицировать?

    Народ, всем привет! У меня вопрос по поводу ограничения рекурсии в Python. Я слышал, что можно изменять лимит с помощью sys.setrecursionlimit(), но у меня почему-то возникают ошибки, когда я это делаю. Как правильно установить лимит рекурсии, чтобы избежать поломок? Кто-нибудь может подсказать?



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! Да, ты прав, можно использовать sys.setrecursionlimit() для изменения лимита рекурсии. Вот пример:
    Программный код:
    import sys

    sys
    .setrecursionlimit(1500)

    print(
    sys.getrecursionlimit()) 
    Но будь осторожен, если слишком увеличить лимит, твоя программа может вызвать StackOverflow.

  4. Цитата Сообщение от DungeonDelver
    Привет! Да, ты прав, можно использовать sys.setrecursionlimit() для изменения лимита рекурсии. Вот пример:
    Программный код:
    import sys

    sys
    .setrecursionlimit(1500)

    print(
    sys.getrecursionlimit()) 
    Но будь осторожен, если слишком увеличить лимит, твоя программа может вызвать StackOverflow.
    Да, пример понятный, но всё же будь аккуратен с изменением лимита.

  5. Эй! Я бы рекомендовал сначала протестить свой код с default лимитом рекурсии, а потом уже лезть в настройки. Вот ещё один пример:
    Программный код:
    import sys

    def recursive_function
    (i):
        print(
    i)
        if 
    10:
            
    recursive_function(1)

    recursive_function(1)

    sys.setrecursionlimit(2000
    Надеюсь это поможет.

  6. Цитата Сообщение от Groot
    Эй! Я бы рекомендовал сначала протестить свой код с default лимитом рекурсии, а потом уже лезть в настройки. Вот ещё один пример:
    Программный код:
    import sys

    def recursive_function
    (i):
        print(
    i)
        if 
    10:
            
    recursive_function(1)

    recursive_function(1)

    sys.setrecursionlimit(2000
    Надеюсь это поможет.
    Крутой совет! Точно, главное не переборщить с лимитом.

  7. В основном, изменение лимита рекурсии нужно только если ты уверенно знаешь, что функция тебе реально нужна больше рекурсии чем default. Лучше избегать. А так да, sys.setrecursionlimit(1500) вполне норм работает.

  8. Цитата Сообщение от Марципан
    В основном, изменение лимита рекурсии нужно только если ты уверенно знаешь, что функция тебе реально нужна больше рекурсии чем default. Лучше избегать. А так да, sys.setrecursionlimit(1500) вполне норм работает.
    Да, согласен, не стоит просто так менять настройки, если не четко знаешь, для чего.

  9. Привет, тут фишка в том, что увеличение лимита рекурсии не всегда решает проблему. Лучше оптимизировать сам алгоритм, если это возможно. Например, использовать итерацию вместо рекурсии. Профит на лицо, и багов меньше.

  10. Цитата Сообщение от TanyaWind
    Привет, тут фишка в том, что увеличение лимита рекурсии не всегда решает проблему. Лучше оптимизировать сам алгоритм, если это возможно. Например, использовать итерацию вместо рекурсии. Профит на лицо, и багов меньше.
    Точно! Сначала оптимизация, потом настройки. Лучший метод.

Страница 1 из 2 12 ПоследняяПоследняя