Python小小白

Python|此整型非彼“整型”

2018-11-24  本文已影响1人  5a41eb2ceec6

当我们在Python中定义一个整型时,如x = 1000,x并不是一个“原生”整型,而是一个指针:

查看int的源代码


int源代码

我们可以看到,整型实际上包括4部分:

  1. ob_refcnt是一个引用计数,它可以帮助Python处理内存的分配和回收
  2. ob_type是变量的类型编码
  3. ob_size指定数据成员的大小
  4. ob_digit包含Python变量表示的实际整型值
区别

这里PyObject_HEAD是结构体重包含引用计数、类型编码和其他之前提到的内容的部分。正是因为包含了大量额外的信息,所以其可以自由、动态地编码。但是这些额外信息也会成为负担。

参考资料:
《Python数据科学手册》

上一篇 下一篇

猜你喜欢

热点阅读