CPython Internals
该存储库是我的CPYTHON源代码的笔记/博客
试图说明Cpython实施的每个细节
# based on version 3.8.0a0 cd cpython git reset --hard ab54b9a130c88f708077c2ef6c4963b632c132b3
以下内容适合那些具有Python编程经验并对Python语言内部感兴趣的人,对于需要初学者或高级材料的人,请参阅很棒的Python-Books
目录
- 对象
- 模块
- lib
- 口译员
- 扩大
- 学习材料
- 贡献
- 执照
对象
- dict
- 长/int
- Unicode/str
- 放
- 列表(Timsort)
- 元组
- 字节
- Bytearray(缓冲协议)
- 漂浮
- func(用户定义的方法)
- 方法(内置方法)
- 迭代
- gen(Generator/coroutine/async发电机)
- 班级(绑定方法/classMethod/staticMethod)
- 复杂的
- 枚举
- 类型(mro/metaclass/class/实例的创建)
模块
- io
- Fileio
- 泡菜
lib
- RE(REGEX)
- 异步
口译员
- 吉尔(全球口译员锁)
- GC(垃圾收集)
- 内存管理
- descr(属性访问工作/__ __/__ getAttribute __/__ getAttr __)
- 例外(例外处理)
- 模块(导入如何工作)
- 框架
- 代码
- 插槽/__插槽__(在创建类/实例的创建中如何属性)
- 线
- PyObject(概述)
扩大
- C API(配置文件Python代码和编写纯C扩展)
- Cython(C扩展)
- Boost C ++ Libaries(C ++扩展)
- C ++扩展
- 与Numpy集成
- 绕过吉尔
语法
- 编译阶段
- DFA的语法/Metagrammar
- CST到AST
- AST到Python字节代码
学习材料
我只会推荐我读的内容
- CPython Internals – 解释器和源代码概述(YouTube视频)
- <<python虚拟机>>内部
- <<<python源码剖析>>
- Rushter(博客/英语)
- 另一个Python内部博客(博客/英语)
- Junnplus(博客/CN)
- Manjusaka(博客/CN)
- Aoik-Python的编译器系列(博客/英语)
贡献
欢迎各种贡献
- 提交拉请请求
- 如果您想分享您知道的任何知识
- 发表新文章
- 纠正任何技术错误
- 正确的英语语法
- 翻译
- 还要别的吗
- 打开一个问题
- 任何建议
- 任何问题
- 正确的错误
- 还要别的吗
