小编给大家分享一下Python中一个int类型占了几个字节,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

Python中int占几个字节

以python3版本为例说明, int 类型在python中是动态长度的。因为python3中int类型是长整型,理论支持无限大的数字,但它的结构其实也很简单, 在 longintepr.h 中定义:

struct_longobject{PyObject_VAR_HEADdigitob_digit[1];};

这结构是什么意思呢,重点在于 ob_digit 它是一个数组指针。digit 可认为是 int的别名。python的整型存储机制是这样的。比方要表示一个很大的数:123456789 。而每个元素最大只能表示3位十进制数(为理解打的比方)。那么python就会这样存储:

ob_digit[0]=789ob_digit[1]=456ob_digit[2]=123

低位存于低索引下。python中整型结构中的数组,每个元素最大存储 15 位的二进制数(不同位数操作系统有差异32位系统存15位,64位系统是30位)。

因此,sys.getsizeof(0) 数组元素为0。此时占用24字节(PyObject_VAR_HEAD 的大小)。 sys.getsizeof(456) 需使用一个元素,因此多了4个字节。

看完了这篇文章,相信你对Python中一个int类型占了几个字节有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!