Курс 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"
- Объединение словарей в Python
- Операторы += в Python
- Лямбда-функции в Python
- Функция reduce() в Python
- Python itertools combinations() — группировка элементов
- Присвоение и ссылки
- Хранение данных
- Python: отсутствие точек с запятыми
- Генераторы списков в Python
- Компиляция регулярных выражений
- Конкатенация строк с методом join()
- Копирование объектов в Python
- Декораторы с аргументами
- Переворот строки
- Приоритет операций в Python
- Преобразование числа в список цифр
- Запуск асинхронной корутины
- Метод __iand__ для пользовательских классов
- Удаление элементов из списка в Python
- Функция zip() в Python
- Декоратор для группы пользователей в Django
- Измерение времени выполнения кода с помощью time
- Метод rmatmul для обратного матричного умножения
- Округление чисел с помощью round
- Запуск внешних программ с subprocess
- Итераторы с потерямиZIP
- Операторы объединения в Python 3.9
- Работа с PosixPath() в Python
- Логирование с Logzero: ротация файла
- Работа с пользовательским вводом
- Удаление ресурса в Python
- Работа с изменяемыми списками
- Оператор объединения словарей
- Python: цикл for и оператор присваивания
- Работа с комплексными числами
- kwargs в Python
- Отладка утечек памяти в Python
- Создание и операции с дробями
- Управление ресурсами в Python
- Оптимизация гиперпараметров в Python
- Работа с пакетами
- Преобразование чисел в восьмеричную строку
- Функция divmod() в Python
- Защита данных в Python
- Оператор морж в Python 3.8
- enumerate() в Python для работы с индексами
- Создание и обучение модели с Keras
- Модуль os в Python: работа с файлами
- Экспорт внешнего файла с помощью writefile















