Python Glossary English

все Python 3sysфункция

sys.getsizeof()

память

Возвращает размер объекта в байтах (без учёта вложенных объектов). Использует __sizeof__ плюс служебные данные GC.

Синтаксис

sys.getsizeof(object, default=...) -> int

Для контейнеров считается только сам контейнер: список из миллиона строк покажет несколько мегабайт массива указателей, а сами строки не учтёт. Складывать размеры рекурсивно вручную тоже обманчиво — общий или интернированный объект посчитается несколько раз. Если вопрос «сколько памяти реально ест мой код», нужен tracemalloc, а не getsizeof.

Примеры

import sys
print(sys.getsizeof(0))  # → 28
print(sys.getsizeof([]))  # → 56
print(sys.getsizeof(''))  # → ? зависит от версии Python, на 3.14 — 41
print(sys.getsizeof({'a': 1}))  # → ? зависит от версии, на 3.14 — 184
print(sys.getsizeof(list(range(100))))  # → ? на 3.14 — 856: сам список, без элементов

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности