万本电子书0元读

万本电子书0元读

顶部广告

CPython设计与实现电子书

Python 之父 Guido van Rossum 推荐,CPython 核心发者 Carol Willing 作序。 以平易近人的方式解释 Python 解释器的概念、思想和技术细节,手把手带你重新编译CPython,了解Python的内部实现。 CPython 即用C语言实现的 Python 解释器,是目前使用广泛的 Python 解释器,GitHub Star数近 50k。 不了解 Python 的人可能不知道,当我们谈论 Python 的时候,99% 的情况其实说的就是 CPython。

售       价:¥

纸质售价:¥78.80购买纸书

0人正在读 | 0人评论 6.6

作       者:[英]安东尼·肖(Anthony Shaw) 著

出  版  社:人民邮电出版社有限公司

出版时间:2024-06-01

字       数:19.0万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(条)
  • 读书简介
  • 目录
  • 累计评论(条)
大模型的出现让 AI 技术经历了从量变到质变的过程,而 Python 作为 AI 首选语言,一直默默推动着 AI 技术的快速发展。你是否想过,这是为什么呢?答案就藏在 CPython 中! CPython 是用 C 语言实现的 Python 解释器,它是 Python 的官方实现,并且是使用最广泛的 Python 解释器。其实在谈论 Python 的时候,99% 的情况说的就是 CPython!本书共 16 章,从获取 CPython 源代码始,手把手带你重新编译 CPython,我们将一起调试代码、升级组件,在这个过程中,你可以详细了解 Python 各类特性的工作原理,成长为一名更棒的Python 程序员。<br/>【推荐语】<br/>Python 之父 Guido van Rossum 推荐,CPython 核心发者 Carol Willing 作序。 以平易近人的方式解释 Python 解释器的概念、思想和技术细节,手把手带你重新编译CPython,了解Python的内部实现。 CPython 即用C语言实现的 Python 解释器,是目前使用广泛的 Python 解释器,GitHub Star数近 50k。 不了解 Python 的人可能不知道,当我们谈论 Python 的时候,99% 的情况其实说的就是 CPython。<br/>【作者】<br/>安东尼 · 肖(Anthony Shaw),CPython 项目贡献者,Apache 软件基金会成员。安东尼是一个狂热的 Python 爱好者,擅长理解复杂的系统,然后简化它们,并教给其他人。 译者介绍: 史海,Python 语言组成员,CPython Top100 贡献者,原 OpenStack 社区核心发者,原华为云计算编程语言 Lab 负责人,目前负责华为云计算 IAAS 软件工程能力建设和优化。 赵羽,华为云计算编程语言 Lab 核心成员,华为公司 Python 编程语言生态建设及源管理负责人。长期从事 Python 虚拟机的发及研究工作。 陈啸,华为软件发工程师。 李俊辰,拥有多年编译器发经验。<br/>
目录展开

版权声明

读者评价

关于作者

前言

致谢

第 1 章 获取 CPython 源代码

源代码里有什么

第 2 章 准备开发环境

2.1 使用 IDE 或代码编辑器

2.2 安装 Visual Studio

2.3 安装 Visual Studio Code

2.4 安装 JetBrains CLion

2.5 安装 Vim

2.6 小结

第 3 章 编译 CPython

3.1 在 macOS 系统上编译 CPython

3.2 在 Linux 系统上编译 CPython

3.3 安装自定义版本

3.4 make 快速入门

3.5 CPython 的 make 目标

3.6 在 Windows 系统上编译 CPython

3.7 PGO

3.8 小结

第 4 章 Python 语言和语法

4.1 为什么 CPython 是用 C 语言而不是 Python 语言实现的

4.2 Python 语言规范

4.3 解析器生成器

4.4 重新生成语法

4.5 小结

第 5 章 配置和输入

5.1 配置状态

5.2 构建配置

5.3 从输入构建模块

5.4 小结

第 6 章 基于语法树的词法分析和语法解析

6.1 具象语法树生成器

6.2 CPython 解析器-分词器

6.3 抽象语法树

6.4 要记住的术语

6.5 示例:添加一个约等于运算符

6.6 小结

第 7 章 编译器

7.1 相关源文件

7.2 重要的专业术语

7.3 实例化一个编译器

7.4 未来标志和编译器标志

7.5 符号表

7.6 核心编译过程

7.7 汇编

7.8 创建一个代码对象

7.9 使用 instaviz 展示代码对象

7.10 示例:实现约等于运算符

7.11 小结

第 8 章 求值循环

8.1 相关源文件

8.2 重要术语

8.3 构建线程状态

8.4 构建帧对象

8.5 帧的执行

8.6 值栈

8.7 示例:在列表中添加元素

8.8 小结

第 9 章 内存管理

9.1 C 语言中的内存分配

9.2 Python 内存管理系统设计

9.3 CPython 内存分配器

9.4 对象和 PyMem 内存分配域

9.5 原始内存分配域

9.6 自定义内存分配器

9.7 自定义的内存分配“消毒剂”

9.8 PyArena 内存堆区

9.9 引用计数

9.10 垃圾回收

9.11 小结

第 10 章 并行和并发

10.1 并行模型和并发模型

10.2 进程的结构

10.3 多进程并行

10.4 多线程

10.5 异步编程

10.6 生成器

10.7 协程

10.8 异步生成器

10.9 子解释器

10.10 小结

第 11 章 对象和类型

11.1 本章示例

11.2 内置类型

11.3 对象类型和可变长度对象类型

11.4 type 类型

11.5 bool 类型和 long 类型

11.6 Unicode 字符串类型

11.7 字典类型

11.8 小结

第 12 章 标准库

12.1 Python 模块

12.2 Python 模块和 C 语言模块

第 13 章 测试套件

13.1 在 Windows 系统上运行测试套件

13.2 在 Linux 系统或 macOS 系统上运行测试套件

13.3 测试标志

13.4 运行特定测试

13.5 测试模块

13.6 测试工具

13.7 小结

第 14 章 调试

14.1 使用崩溃处理程序

14.2 编译调试的支持

14.3 在 macOS 系统上使用 LLDB

14.4 使用 GDB

14.5 使用 Visual Studio 调试器

14.6 使用 CLion 调试器

14.7 小结

第 15 章 基准测试、性能分析和追踪

15.1 使用 timeit 进行微基准测试

15.2 使用 Python 基准测试套件进行运行时基准测试

15.3 使用 cProfile 分析 Python 代码

15.4 使用 DTrace 分析 C 语言代码

15.5 小结

第 16 章 下一步计划

16.1 为 CPython 编写 C 语言扩展模块

16.2 改进 Python 应用程序

16.3 为 CPython 项目做贡献

16.4 继续学习

附录 A 面向 Python 程序员的 C 语言简介

A.1 C 语言预处理器

A.2 C 语言基础语法

A.3 小结

看完了

累计评论(条) 个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部