Курс 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. Подсчет элементов с помощью Counter из collections
  2. Сортировка слиянием
  3. Аргумент по умолчанию
  4. Декораторы с аргументами в Python
  5. Фильтрация списков с itertools
  6. Инициализация структур данных
  7. Разделение списка на гнппы
  8. Конструктор в Python
  9. Изменение IP-адреса в Python
  10. Python Translator: создание локальных переводчиков
  11. Правила именования переменных
  12. Работа с модулем glob в Python
  13. Сложение матриц в NumPy
  14. Глобальные переменные в Python
  15. Инверсия списка/строки в Python
  16. Нахождение хеша для бесконечности и NaN в Python
  17. Работа с f-строками 2.0
  18. Замена элементов в списке с помощью генераторов списков
  19. Синхронизация доступа к ресурсам
  20. Хэш-функции и метод цепочек
  21. Любовь к Python
  22. Создание словарей с defaultdict()
  23. Python: Splat-оператор и splatty-splat
  24. OrderedDict — упорядоченный словарь
  25. Проверка типа объекта в Python
  26. Избегайте ошибку FileNotFoundError
  27. Декоратор Ajax required
  28. Получение ID процесса
  29. Подписка на каналы разработчиков
  30. Генерация чисел с range()
  31. Объединение коллекций в Python
  32. Разделение функций на этапы
  33. Работа с GitHub в Telegram
  34. Курсы Яндекс Практикум
  35. Передача аргументов через **arguments
  36. Colorama: окрашивание текста в Python
  37. Модуль itertools: эффективная работа с итераторами
  38. Преобразование типов данных в set comprehension
  39. Настройка вывода NumPy
  40. Особенности ключей словаря в Python
  41. Перемешивание списка с shuffle()
  42. Оператор walrus в Python
  43. Создание матрицы в Python
  44. Объединение словарей в Python

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