Курс Python → Проверка памяти объекта

Для того чтобы проверить использование памяти объектом в Python, можно воспользоваться функцией sys.getsizeof(). Например, если мы создадим огромный список с помощью функции range, то мы увидим, что его размер всего 48 байт. Это происходит потому, что функция range возвращает класс, который ведет себя как список, но на самом деле не хранит все числа в памяти, а генерирует их по мере необходимости.

Это позволяет сэкономить память, особенно если нам не нужно хранить все числа списка одновременно. В таком случае использование range может быть более эффективным с точки зрения использования памяти, чем создание и хранение актуального списка чисел.

Пример кода:


import sys

# Создание огромного списка с помощью range
huge_list = range(1000000)

# Проверка использования памяти объектом
print(sys.getsizeof(huge_list))

В данном примере мы создаем огромный список с помощью функции range, содержащий 1000000 чисел. Затем мы используем функцию sys.getsizeof() для проверки размера этого списка в байтах. Результат покажет нам, что даже при таком большом количестве элементов, использование памяти остается сравнительно невелико.

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

Автор урока

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

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

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

  1. Метод __imod__ для Python
  2. Названия столбцов в Python таблицах
  3. Установка random seed в Python
  4. Применение функции к каждому элементу списка
  5. Обновление данных через PUT запрос
  6. Обработка ошибок в Python
  7. Работа с collections в Python
  8. Импорт классов из другого файла
  9. Тест скорости набора текста на Python
  10. Обработка ошибок в JSON данных
  11. Мониторинг памяти с Pympler
  12. Отладка в командной строке
  13. Декораторы в Python
  14. Подсчет элементов в Python
  15. Управление экспортом элементов
  16. Дизассемблирование Python кода
  17. Строки в Python: апострофы и кавычки
  18. Многострочные комментарии в Python
  19. Оптимизация поиска в словарях
  20. Обратное распространение ошибки
  21. Работа с каталогами в Python
  22. Срез списка в Python
  23. Инверсия списка/строки в Python
  24. Переопределение метода __floordiv__
  25. Удаление ключа из словаря
  26. Визуализация пропусков данных
  27. Подписка на @SelectelNews
  28. Flask: создание веб-приложений
  29. Проверка элементов списка условием
  30. Метод radd для пользовательских чисел
  31. *args и **kwargs в Python
  32. Проверка условий в Python
  33. Оператор «not» в Python
  34. Форматирование строк в Python
  35. Установка User-Agent в Python
  36. Возвращение нескольких значений
  37. Получение ID текущего процесса
  38. Работа с URL-адресами в Python
  39. Защита данных в Python
  40. Enum в Python
  41. Проверка строки на палиндром
  42. IPython и Jupyter Notebook: руководство
  43. Транспонирование 2D-массива с помощью zip
  44. Основы слова
  45. Функция с *args.

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