1. python源码分析

1.1. python中的对象

1.1.1. PyObject

1.1.2. PyTypeObject

1.1.3. PyIntObject

PyIntObject对象是不可变对象。

小整数对象

使用对象池技术。集合范围[-5, 257)

大整数对象

PyIntBlock。 python运行环境提供一块内存空间,这些内存空间由这些大整数轮流使用。

1.1.4. PyStringObject

字符串对象。

PyStringObject是一个拥有可变长度内存的对象。 同时,PyStringObject又是一个不变对象。

1.1.5. PyListObject

变长对象。

1.1.6. PyDictObject

1.1.7. PyCodeObject

.pyc文件。

dis标准库,反编译

反编译pyc https://github.com/wibiti/uncompyle2

python字节码 https://docs.python.org/2.4/lib/bytecodes.html

1.2. python vm

对x86平台的模拟

1.2.1. PyFrameObject

1.2.2. PyFunctionObject

1.3. gc

  • 引用计数
  • 标记清除

1.4. 参考

1.4.1. sites

1.4.2. books

  • 《Python源码分析》

results matching ""

    No results matching ""