Курс Python → Хранение переменных в Python.

В Python каждая функция имеет свой собственный стек, который используется для хранения локальных переменных и возврата адресов. Как уже упоминалось, каждая локальная переменная занимает 2 байта в стеке. Это означает, что теоретически в функции может быть определено только 65536 переменных.

Однако, Python предоставляет удобное решение для хранения более 2^16 переменных. Для этого можно использовать структуру данных, известную как словарь. Словарь позволяет хранить пары ключ-значение и обеспечивает быстрый доступ к значениям по ключу.


# Пример кода, демонстрирующий использование словаря для хранения переменных
variables = {}
for i in range(100000):
    variables[f'var{i}'] = i

В приведенном выше примере переменные сохраняются в словаре, где ключами являются имена переменных, а значениями — их значения. Таким образом, можно хранить любое количество переменных, не ограничиваясь 65536.

Если же попытаться определить слишком большое количество переменных в стеке, Python выдаст ошибку «RecursionError: maximum recursion depth exceeded in comparison». Это происходит из-за ограничения на глубину рекурсии в Python, которая по умолчанию составляет 1000 вызовов. Для решения этой проблемы можно увеличить максимальную глубину рекурсии с помощью функции sys.setrecursionlimit().

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Функции all и any в Python
  2. Фильтрация списков с itertools
  3. Особенности множеств в Python
  4. Оптимизация гиперпараметров в Python
  5. Извлечение данных из JSON
  6. Атрибуты класса и экземпляра
  7. Асинхронный код в Python
  8. Измерение времени выполнения
  9. Лямбда-функции для min/max
  10. Ограничение итераций в Python
  11. Работа с байтовыми строками в Python
  12. Упрощение условных выражений с тернарным оператором
  13. Сериализация и десериализация объектов
  14. Рациональные числа в Python
  15. Срезы в Python
  16. Оптимизация памяти с __slots__
  17. Работа со строками в Python
  18. Оператор умножения для вектора
  19. Перезагрузка оператора в Python
  20. Преобразование числа в список цифр
  21. Проверка версии Python
  22. Функции в Python
  23. Поиск уникальных элементов строкой в Python
  24. Возврат нескольких значений из функции
  25. Генерация случайных чисел в Python
  26. Подписка на SelectelNews в Twitter
  27. Форматирование строк в Python
  28. Курс по дообучению ChatGPT
  29. Генераторы в Python
  30. Улучшение читаемости кода в Python
  31. Проверка окончания строки с помощью str.endswith()
  32. Проверка версии Python
  33. Поиск элементов BeautifulSoup
  34. Проектирование Singleton с метаклассом
  35. Работа с комплексными числами
  36. Декоратор проверки активности
  37. Работа с необработанными строками
  38. Генераторы в Python
  39. Нахождение отличий в списках
  40. Множественное назначение в Python
  41. Руководство по Pymorphy2
  42. Python 3.12: переиспользование кавычек
  43. Логические операторы в Python
  44. Оптимизация сравнения в Python

Marketello читают маркетологи из крутых компаний