为什么numpy int16占用24个字节

时间:2017-11-13 16:16:07

标签: python-2.7 memory integer size

我试图找出系统内存中的一些python变量

在以下代码中:

    >>> a = numpy.int16(1)
    >>> a.nbytes
    2
    >>> sys.getsizeof(a)
    24

为什么numpy int16根据sys.getsizeof()占用24个字节的空间?

1 个答案:

答案 0 :(得分:1)

来自the docs

  

getsizeof()调用对象的__sizeof__方法,如果对象由垃圾收集器管理,则添加额外的垃圾收集器开销

所以:

sys.sizeof 整个对象,疣和所有的大小;

nbytes 会返回仅由数组使用的实际数据所使用的内存,没有多余的装饰。