Курс 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. Объединение словарей в Python
  2. Операторы += в Python
  3. Лямбда-функции в Python
  4. Функция reduce() в Python
  5. Python itertools combinations() — группировка элементов
  6. Присвоение и ссылки
  7. Хранение данных
  8. Python: отсутствие точек с запятыми
  9. Генераторы списков в Python
  10. Компиляция регулярных выражений
  11. Конкатенация строк с методом join()
  12. Копирование объектов в Python
  13. Декораторы с аргументами
  14. Переворот строки
  15. Приоритет операций в Python
  16. Преобразование числа в список цифр
  17. Запуск асинхронной корутины
  18. Метод __iand__ для пользовательских классов
  19. Удаление элементов из списка в Python
  20. Функция zip() в Python
  21. Декоратор для группы пользователей в Django
  22. Измерение времени выполнения кода с помощью time
  23. Метод rmatmul для обратного матричного умножения
  24. Округление чисел с помощью round
  25. Запуск внешних программ с subprocess
  26. Итераторы с потерямиZIP
  27. Операторы объединения в Python 3.9
  28. Работа с PosixPath() в Python
  29. Логирование с Logzero: ротация файла
  30. Работа с пользовательским вводом
  31. Удаление ресурса в Python
  32. Работа с изменяемыми списками
  33. Оператор объединения словарей
  34. Python: цикл for и оператор присваивания
  35. Работа с комплексными числами
  36. kwargs в Python
  37. Отладка утечек памяти в Python
  38. Создание и операции с дробями
  39. Управление ресурсами в Python
  40. Оптимизация гиперпараметров в Python
  41. Работа с пакетами
  42. Преобразование чисел в восьмеричную строку
  43. Функция divmod() в Python
  44. Защита данных в Python
  45. Оператор морж в Python 3.8
  46. enumerate() в Python для работы с индексами
  47. Создание и обучение модели с Keras
  48. Модуль os в Python: работа с файлами
  49. Экспорт внешнего файла с помощью writefile

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