Ответ 1
Вы можете найти функциональность, которую вы ищете здесь (в sys.getsizeof
- Python 2.6 и выше).
Также: не затушевывайте int
builtin!
import sys
myint = 12
print sys.getsizeof(myint)
В любом случае я могу узнать, сколько байтов принимается конкретной переменной в python. Например; скажем, у меня есть
int = 12
print (type(int))
он напечатает
<class 'int'>
Но я хотел знать, сколько байтов оно взяло на память? возможно ли это?
Вы можете найти функциональность, которую вы ищете здесь (в sys.getsizeof
- Python 2.6 и выше).
Также: не затушевывайте int
builtin!
import sys
myint = 12
print sys.getsizeof(myint)
если вы хотите узнать размер int, вы можете использовать struct
>>> import struct
>>> struct.calcsize("i")
4
в противном случае, как уже указывали другие, используйте getizeof (2.6). есть также recipe, который вы можете попробовать.
В Python >= 2.6 вы можете использовать sys.getsizeof.
Вы также можете посмотреть Pympler, особенно его asizeof, который в отличие от sys.getsizeof
работает с Python >= 2.2.
в командной строке python, вы можете использовать размер функции
$ import python
$ import ctypes
$ ctypes.sizeof(ctypes.c_int)
и больше узнать об этом от https://docs.python.org/2/library/ctypes.html
Numpy предлагает инфраструктуру для управления размером данных. Вот примеры (py3):
import numpy as np
x = np.float32(0)
print(x.nbytes) # 4
a = np.zeros((15, 15), np.int64)
print(a.nbytes) # 15 * 15 * 8 = 1800
Это очень полезно при попытке отправить данные на графическую карту с помощью pyopengl, например.
В Python 3 вы можете использовать sys.getsizeof().
import sys
myint = 12
print(sys.getsizeof(myint))