搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
CPython设计与实现/图灵程序设计丛书
0.00     定价 ¥ 99.80
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购25本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787115645265
  • 作      者:
    作者:(英)安东尼·肖|责编:张海艳|译者:史海//赵羽//陈啸//李俊辰
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2024-06-01
收藏
畅销推荐
内容介绍
大模型的出现让AI技术经历了从量变到质变的过程,而Python作为AI首选语言,一直默默推动着AI技术的快速发展。你是否想过,这是为什么呢?答案就藏在CPython中!CPython是用C语言实现的Python解释器,它是Python的官方实现,并且是使用最广泛的Python解释器。其实在谈论Python的时候,99%的情况说的就是CPython!本书共16章,从获取CPython源代码开始,手把手带你重新编译CPython,我们将一起调试代码、升级组件,在这个过程中,你可以详细了解Python各类特性的工作原理,成长为一名更棒的Python程序员。
展开
目录
第1章 获取CPython源代码
第2章 准备开发环境
2.1 使用IDE或代码编辑器
2.2 安装Visual Studio
2.3 安装Visual Studio Code
2.3.1 安装
2.3.2 本书中的推荐扩展程序
2.3.3 使用高级代码导航和扩展
2.3.4 配置任务和启动文件
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.5.1 构建目标
3.5.2 测试目标
3.5.3 清理目标
3.5.4 安装目标
3.5.5 其他目标
3.6 在Windows系统上编译CPython
3.6.1 安装依赖项
3.6.2 从命令行编译
3.6.3 使用Visual Studio编译
3.7 PGO
3.8 小结
第4章 Python语言和语法
4.1 为什么CPython是用C语言而不是Python语言实现的
4.2 Python语言规范
4.2.1 语言说明文档
4.2.2 语法文件
4.3 解析器生成器
4.4 重新生成语法
4.5 小结
第5章 配置和输入
5.1 配置状态
5.1.1 预初始化配置
5.1.2 相关源文件
5.1.3 运行时配置数据结构
5.1.4 通过命令行来设置运行时配置
5.1.5 查看运行时标志
5.2 构建配置
5.3 从输入构建模块
5.3.1 相关的源文件
5.3.2 读取文件和输入
5.3.3 从命令行输入字符串
5.3.4 通过本地模块输入
5.3.5 来自脚本文件或标准输入的输入
5.3.6 从编译好的字节码输入
5.4 小结
第6章 基于语法树的词法分析和语法解析
6.1 具象语法树生成器
6.2 CPython解析器-分词器
6.2.1 相关源文件
6.2.2 从文件向解析器中输入数据
6.2.3 解析器-分词器工作流
6.3 抽象语法树
6.3.1 相关源文件
6.3.2 使用instaviz工具展示抽象语法树
6.3.3 编译抽象语法树
6.4 要记住的术语
6.5 示例:添加一个约等于运算符
6.6 小结
第7章 编译器
7.1 相关源文件
7.2 重要的专业术语
7.3 实例化一个编译器
7.4 未来标志和编译器标志
7.4.1 未来标志
7.4.2 在Python 3.9中引用未来标志
7.4.3 编译器标志
7.5 符号表
7.5.1 相关源文件
7.5.2 符号表数据结构
7.5.3 使用symtable标准库模块
7.5.4 符号表实现
7.6 核心编译过程
7.6.1 从Python访问编译器
7.6.2 编译器C语言API
7.6.3 指令
7.6.4 基础帧块
7.6.5 操作和参数
7.7 汇编
7.7.1 汇编器数据结构
7.7.2 汇编器深度优先搜索算法
7.7.3 汇编器C语言API
7.7.4 深度优先搜索
7.8 创建一个代码对象
7.9 使用instaviz展示代码对象
7.10 示例:实现约等于运算符
7.11 小结
第8章 求值循环
8.1 相关源文件
8.2 重要术语
8.3 构建线程状态
8.3.1 线程状态类型
8.3.2 相关源文件
8.4 构建帧对象
8.4.1 帧对象类型
8.4.2 相关源文件
8.4.3 帧对象初始化API
8.5 帧的执行
8.6 值栈
8.6.1 字节码操作的例子:BINARY_OR
8.6.2 模拟值栈
8.6.3 栈效果
8.7 示例:在列表中添加元素
8.8 小结
第9章 内存管理
9.1 C语言中的内存分配
9.1.1 静态内存分配
9.1.2 自动内存分配
9.1.3 动态内存分配
9.2 Python内存管理系统设计
9.2.1 内存分配域
9.2.2 内存分配器
9.3 CPython内存分配器
9.3.1 相关源文件
9.3.2 重要术语
9.3.3 内存块、内存池和堆区
9.3.4 内存块分配API
9.3.5 使用Python调试API
9.4 对象和PyMem内存分配域
9.5 原始内存分配域
9.6 自定义内存分配器
9.7 自定义的内存分配“消毒剂”
9.7.1 AddressSanitizer
9.7.2 MemorySanitizer
9.7.3 UndefinedBehaviorSanitizer
9.8 PyArena内存堆区
9.9 引用计数
9.9.1 在Python中创建变量
9.9.2 增加引用
9.9.3 减少引用
9.9.4 字节码操作中的引用计数
9.9.5 CPython引用计数的优点
9.10 垃圾回收
9.10.1 相关源文件
9.10.2 垃圾回收器的设计
9.10.3 垃圾回收器管理的容器类型
9.10.4 不可追踪对象与可变性
9.10.5 垃圾回收算法
9.10.6 分代垃圾回收
9.10.7 使用Python的垃圾回收API
9.11 小结
第10章 并行和并发
10.1 并行模型和并发模型
10.2 进程的结构
10.3 多进程并行
10.3.1 在POSIX中fork进程
10.3.2 Windows系统上的多进程
10.3.3 multiprocessing包
10.3.4 相关源文件
10.3.5 spawn进程和fork进程
10.3.6
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证