Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

《Python源码剖析 深度探索动态语言核心技术》电子书, 配套资源, 配套代码

NotificationsYou must be signed in to change notification settings

bat67/python-source-code-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

前一阵终于把电子书(本仓库的pdf)、配套资源(本仓库的word)、配套代码(本仓库文件夹)找齐了!

虽然其Python版本已经很旧了,但不影响它为一本好书!与大家分享!

Introduction

作为主流的动态语言,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程序员阅读。

Resources

Chinese Version

cover

Table of Contents

  • 第0章 Python源码剖析——编译Python
    • 0.1 Python总体架构
    • 0.2 Python源代码的组织
    • 0.3 Windows环境下编译Python
    • 0.4 Unix/Linux环境下编译Python
    • 0.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_Type
    • 3.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 PyDictObject
    • 5.3 PyDictObject的创建和维护
    • 5.4 PyDictObject对象缓冲池
    • 5.5 Hack PyDictObject
  • 第6章 最简单的Python模拟——Small Python
  • 6.1 Small Python
  • 6.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 用户自定义class
    • 12.4 从class对象到instance对象
    • 12.5 访问instance对象中的属性
    • 12.6 千变万化的descriptor

第3部分 Python 高级话题

  • 第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 Thread
    • 15.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中的垃圾收集

About

《Python源码剖析 深度探索动态语言核心技术》电子书, 配套资源, 配套代码

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp