Python中int占几个字节
发布时间:2026-06-23 21:54:57

int在Python中占有多少字节?
以python3版为例, int python中的类型是动态长度。由于python3中的int类型是长整形,理论上支持大数字,但其结构也很简单, 在 longintepr.h 中定义:
struct_longobject{
PyObject_VAR_HEAD
digitob_digit[1];
};这个结构是什么意思?重点是 ob_digit 它是数组指针。digit 可认为是 int的别名。python的整体存储机制是这样的。例如,一个大数字:123456789 。而且每个元素只能表示三位十进制数(为理解打比方)。然后python就会这样存储:
ob_digit[0]=789 ob_digit[1]=456 ob_digit[2]=123
低位存在于低索引下。Python中整形结构中的数组存储每个元素 15 二进制数(不同位数操作系统存储15位,64位系统存储30位)。
因此,sys.getsizeof(0) 数组元素为0。此时占用24个字节(PyObject_VAR_HEAD 的大小)。 sys.getsizeof(456) 需要一个元素,所以多了四个字节。
更多技术请关注Python视频教程。
下一篇 Python中的下横线是什么意思
