我如何确定python使用的类型的确切大小

前端之家收集整理的这篇文章主要介绍了我如何确定python使用的类型的确切大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
>>> sys.getsizeof(int)
436 #? does this mean int occupies 436 bytes .

>>> sys.getsizeof(1)
12 #12 bytes for int object,is this the memory requirement.

我认为python中的int由4个字节表示,为什么它报告12个字节

请有人解释为什么当int只使用4个字节时报告12个字节

解决方法

是的,int实例在您的系统上占用12个字节.整数(与任何对象一样)具有属性,即指向其他对象的指针,这些属性占用了超出对象自身值所使用的内存空间.因此整数值为4个字节,指向__class__的指针为4个字节(否则,Python不知道对象属于什么类型以及如何开始解析从int类及其父类继承的属性名称),另一个4表示对象的引用计数,由垃圾收集器使用.

int类型占用系统上的436个字节,它将指向int类的各种方法和其他属性,以及Python对类所需的其他内务处理信息. int类在标准Python实现中用C语言编写;你可以去查看源代码,看看里面有什么.

猜你在找的Python相关文章