
作为主流的动态语言,Python不仅简单易学、移植性好,而且拥有强大丰富的库的支持。此外,Python强大的可扩展性,让开发人员既可以非常容易地利用C/C++编写Python的扩展模块,还能将Python嵌入到C/C++程序中,为自己的系统添加动态扩展和动态编程的能力。.为了更好地利用Python语言,无论是使用Python语言本身,还是将Python与C/C++交互使用,深刻理解Python的运行原理都是非常重要的。本书以CPython为研究对象,在C代码一级,深入细致地剖析了Python的实现。书中不仅包括了对大量Python内置对象的剖析,更将大量的篇幅用于对Python虚拟机及Python高级特性的剖析。通过此书,读者能够透彻地理解Python中的一般表达式、控制结构、异常机制、类机制、多线程机制、模块的动态加载机制、内存管理机制等核心技术的运行原理,同时,本书所揭示的动态语言的核心技术对于理解其他动态语言,如 Javascript、Ruby等也有较大的参考价值。..本书适合于Python程序员、动态语言爱好者、C程序员阅读
第0章 Python源码剖析——编译Python0.1 Python总体架构0.2 Python源代码的组织0.3 Windows环境下编译Python0.4 Unix/Linux环境下编译Python0.5 修改Python源代码0.6 通往Python之路0.7 一些注意事项第1部分 Python内建对象第1章 Python对象初探1.1 Python内的对象1.2 类型对象1.3 Python对象的多态性1.4 引用计数1.5 Python对象的分类第2章 Python中的整数对象2.1 初识PyIntObject对象2.2 PyIntObject对象的创建和维护2.3 Hack PyIntObject第3章 Python中的字符串对象3.1 PyStringObject与PyString_Type3.2 创建PyStringObject对象3.3 字符串对象的intern机制3.4 字符缓冲池3.5 PyStringObject效率相关问题3.6 Hack PyStringObject第4章 Python中的List对象4.1 PyListObject对象4.2 PyListObject对象的创建与维护4.3 PyListObject对象缓冲池4.4 Hack PyListObject第5章 Python中的Dict对象5.1 散列表概述5.2 PyDictObject5.3 PyDictObject的创建和维护5.4 PyDictObject对象缓冲池5.5 Hack PyDictObject第6章 最简单的Python模拟——Small Python6.1 Small Python6.2 对象机制6.3 解释过程6.4 交互式环境第2部分 Python虚拟机第7章 Python的编译结果——Code对象与pyc文件7.1 Python程序的执行过程7.2 Python编译器的编译结果——PyCodeObject对象7.3 Pyc文件的生成7.4 Python的字节码7.5 解析pyc文件第8章 Python虚拟机框架8.1 Python虚拟机中的执行环境8.2 名字、作用域和名字空间8.3 Python虚拟机的运行框架8.4 Python运行时环境初探第9章 Python虚拟机中的一般表达式9.1 简单内建对象的创建9.2 复杂内建对象的创建9.3 其他一般表达式第10章 Python虚拟机中的控制流10.1 Python虚拟机中的if控制流10.2 Python虚拟机中的for循环控制流10.3 Python虚拟机中的while循环控制结构10.4 Python虚拟机中的异常控制流第11章 Python虚拟机中的函数机制11.1 PyFunctionObject对象11.2 无参函数调用11.3 函数执行时的名字空间11.4 函数参数的实现11.5 函数中局部变量的访问11.6 嵌套函数、闭包与decorator第12章 Python虚拟机中的类机制12.1 Python中的对象模型12.2 从type对象到class对象12.3 用户自定义class12.4 从class对象到instance对象12.5 访问instance对象中的属性12.6 千变万化的descriptor第13章 Python运行环境初始化13.1 线程环境初始化13.2 系统module初始化13.3 激活Python虚拟机第14章 Python模块的动态加载机制14.1 import前奏曲14.2 Python中import机制的黑盒探测14.3 import机制的实现14.4 Python中的import操作14.5 与module有关的名字空间问题第15章 Python多线程机制15.1 GIL与线程调度15.2 初见Python Thread15.3 Python线程的创建15.4 Python线程的调度15.5 Python子线程的销毁15.6 Python线程的用户级互斥与同步15.7 高级线程库——threading第16章 Python的内存管理机制16.1 内存管理架构16.2 小块空间的内存池16.3 循环引用的垃圾收集16.4 Python中的垃圾收集
评论关闭。