如何查找python变量占用的字节数

its*_*ode 19 python

无论如何,我可以知道python中特定变量占用的字节数.例如; 让我说我有

int = 12
print (type(int))
Run Code Online (Sandbox Code Playgroud)

它会打印出来

<class 'int'> 
Run Code Online (Sandbox Code Playgroud)

但是我想知道它在内存上占用了多少字节?可能吗?

Chr*_*heD 38

您可以在这里找到您正在寻找的功能(在sys.getsizeofPython 2.6及更高版本中).

另外:不要暗影int内置!

import sys
myint = 12
print sys.getsizeof(myint)
Run Code Online (Sandbox Code Playgroud)

  • itsaboutcode:你想离开Python领域吗?你真的想要回答什么问题?如果你想要4作为答案,那么`def sizeof(o):return 4`. (7认同)
  • 从文档:`getsizeof`调用对象的`__sizeof__`方法,如果对象由垃圾收集器管理,则添加额外的垃圾收集器开销. (3认同)
  • 如果要使用最少的字节存储*many*的int或其他类C数据类型,可以使用数组模块中的`array`类. (2认同)

gho*_*g74 9

如果你想知道int的大小,你可以使用struct

>>> import struct
>>> struct.calcsize("i")
4
Run Code Online (Sandbox Code Playgroud)

否则,正如其他人已经指出的那样,使用getsizeof(2.6).还有一个你可以尝试的食谱.


Ale*_*ett 5

在Python> = 2.6中,您可以使用sys.getsizeof.