и посмотреть медиа
Python Вопросы собесов - тесты
и посмотреть медиа
Вопросы, тесты и задачи для Python собеседований.
Вопросы, тесты и задачи для Python собеседований.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
Канал с вопросами для собеседований по Python. Тесты, задачи и материалы для подготовки.
🤔 Какие ограничения есть у рекурсии в Python? Рекурсия — это мощный инструмент, но в Python она имеет ограничения, которые нужно учитывать при написании кода. 🟠Ограничение на глубину рекурсии (`sys.getrecursionlimit()`) В Python по умолчанию рекурсия ограничена 1000 вызовами, чтобы избежать переполнения стека. import sys print(sys.getrecursionlimit()) # 1000 (обычное значение) Если превысить этот лимит, программа вызовет ошибку def recursive(): return recursive() recursive() # RecursionError: maximum recursion depth exceeded 🚩Как изменить лимит? Можно увеличить глубину рекурсии, но это небезопасно sys.setrecursionlimit(2000) # Увеличиваем до 2000 🟠Рекурсия требует много памяти Каждый рекурсивный вызов создаёт новый фрейм в стеке вызовов. def factorial(n): if n == 1: return 1 return n * factorial(n - 1) print(factorial(10000)) # Ошибка из-за переполнения стека 🟠Отсутствие оптимизации хвостовой рекурсии Другие языки (например, Lisp, JavaScript) автоматически оптимизируют хвостовую рекурсию (Tail Call Optimization, TCO). Python не делает этого, поэтому даже "идеальная" рекурсия всё равно переполняет стек. def tail_recursive(n, acc=1): if n == 1: return acc return tail_recursive(n - 1, n * acc) print(tail_recursive(1000)) # Всё равно вызовет RecursionError 🟠Рекурсия медленнее цикла Рекурсивный вызов требует больше накладных расходов (создание стек-фреймов), чем обычный for или while. # Итеративный вариант (быстрее) def factorial_iter(n): result = 1 for i in range(1, n + 1): result *= i return result # Рекурсивный вариант (медленнее) def factorial_rec(n): if n == 1: return 1 return n * factorial_rec(n - 1) Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!
News from the world of high technologies and AI. The future is already here.
Top news about crypto, data and privacy law for tech-enthusiast Bloomberg.
Channel with VPN workers for Turkmenistan:ShadowsocksOpenVPN, Telegram Proxy and other tools for secure network access.