okpython.net
Все для начинающих

Как определить размер объекта в Python?

Чтобы определить размер объекта в Python, следует использовать системно-специфичный метод sys.getsizeof(obj) модуля sys стандартной библиотеки, передав ему требуемый объект obj в качестве аргумента. Результатом вызова этого метода будет размер объекта в байтах, включая дополнительные накладные расходы сборщика мусора. Если системные особенности не важны и нужен точный размер объекта без накладных расходов, следует использовать метод объекта obj.__sizeof__() (см. пример №1).

Код Результат pythonCodes
# Импортируем модуль.
import sys

# Создаем объекты.
num = 35.637
s = 'Ok, Python!'
li = [1, 2, 3, 4, 5, 6, 7]
empty_li = []
d = {'a': 10, 'b': 20}
def f(x, y): return x*y
class C: pass

print(f'num: {sys.getsizeof(num)} байт')
print(f'num: {num.__sizeof__()} байт\n')

print(f's: {sys.getsizeof(s)} байт')
print(f's: {s.__sizeof__()} байт\n')

print(f'li: {sys.getsizeof(li)} байт')
print(f'li: {li.__sizeof__()} байт\n')

print(f'd: {sys.getsizeof(d)} байт')
print(f'd: {d.__sizeof__()} байт\n')

print(f'f: {sys.getsizeof(f)} байт')
print(f'f: {f.__sizeof__()} байт\n')

print(f'C: {sys.getsizeof(C)} байт')
print(f'C: {C.__sizeof__(C)} байт') 
num: 24 байт.
num: 24 байт.

s: 60 байт.
s: 60 байт.

li: 120 байт.
li: 104 байт.

d: 184 байт.
d: 168 байт.

f: 152 байт.
f: 136 байт.

C: 1688 байт.
C: 904 байт.










		
			

Пример №1. Определение размера объектов в Пайтоне.