Python 源码阅读(一)

Origin at 
python/cpython 核心知识点 PyObject 永远使用专用的宏函数在堆上分配(不使用静态分配或是在栈上分配)(Type 除外,是使用了静态分配,不过在 Python 2.2 以后也可以将之在堆上分配)每个 PyObject 均存在一个 ob_refcnt 来记录指向这个对象的指针数量,当这一数量为 0 时垃圾回收会将之从堆上清除 PyObject 的类型是由一个名为 ob_type 的指向了类型对象 _typeobject 的指针决定的,PyObject 的类型在创建时确定的的,之后不能更改。而 _typeobject 也是一种 PyObject,这种类型对象的 ob_type……