#电子书 《Python源码剖析 (https://fasionchan.com/python-source/)》
本专栏带您深入探索 Python 3 源码,洞悉 Python 虚拟机的运行原理,并体会其中的精妙设计!
专栏以 Python 3.7.4 源码为研究对象展开讲解,章节划分如下:
第一部分, 开篇 。 讨论源码学习对提升开发能力的重要意义,结合“小菜”的经历介绍 Python 工程师的成长历程。
第二部分, 对象模型 。 介绍 Python 面向对象理论体系,明确“ 类 ”和“ 对象 ”在 Python 中的表现形式。 通过源码,分析对象的 内存布局 ,研究对象的 生命周期 ,初步揭开对象的神秘面纱。
第三部分, 内建对象 。 涵盖 float 、int 、 bytes 、str 、list 、dict 等内建对象的实现细节,重点突出每种对象的 数据结构 以及背后的 算法思想 ,并结合 工程实践 讲解内建对象的 妙用 。
第四部分, 虚拟机 。 先介绍 Python 程序的执行过程以及 字节码 的结构; 然后介绍 Python 虚拟机 的运行机制,以及 名字空间 等运行时上下文; 最后讲解 GIL 全局锁 对虚拟机的影响并探索应对之策。
第五部分, 函数机制 。 探索函数从 代码 转化成函数 对象 的每个步骤,并以 Python 代码模仿这个过程。 重点讲解 嵌套函数 、 闭包 以及 装饰器 这些面试必问概念,并结合工程实践介绍 函数式编程 和 装饰器 的高级用法。
第六部分, 类机制 。 探索类从 代码 转化为 类 对象进而创建 实例 对象的所有步骤,并以 Python 代码进行模拟。 重点讲解 继承机制 、 属性查找 等高频面试知识点,以及 魔术方法 、 元类 在程序开发中的妙用。
第七部分, 生成器与协程 。 讨论 生成器 的高级用法,并以 字节码 讲解它的运行原理。 基于 生成器 ,动手设计一个协程库,加深对协程运行机制的理解。 结合工程实践,讲解用 asyncio 构建 高并发应用 的技巧。
第八部分, 内存管理机制 。 结合 Python 特色全面讲解 内存池 、 引用计数 、 标记删除 、 分代回收 等关键技术。 理论联系实际,以一个真实案例介绍工程实践中排查并解决 内存泄露 问题的方法论。
第九部分, 总结。 回顾专栏内容,在读懂 Python 基础上,追求有 Python 格调 的代码设计技巧。