все 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Сообщить о неточности