在Python源碼剖析這本書中作者重點介紹了幾種數據類型在Python的內部實現——但有讀者表示這本書其實不是面向python用戶的,而是剖析python的運行時實現。更適合于進階C程序員以提高C語言能力。關于作者的文筆風格爭議也頗多,但是作者是第一個把研究Python的收獲傳播出來的人(以下有關于作者的介紹)。在本節內容中東坡小編為大家整理帶來的是一份pdf格式影印清晰完整版python源碼剖析電子書,需要查閱這本書的朋友可以點擊本文相應的下載地址進行下載查閱哦!
python源碼剖析電子書目錄
第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.1.1 對象機制的基石——PyObject
1.1.2 定長對象和變長對象
1.2 類型對象
1.2.1 對象的創建
1.2.2 對象的行為
1.2.3 類型的類型
1.3 PYTHON對象的多態性
1.4 引用計數
1.5 PYTHON對象的分類
第2章 PYTHON中的整數對象
2.1 初識PYINTOBJECT對象
2.2 PYINTOBJECT對象的創建和維護
2.2.1 對象創建的3種途徑
2.2.2 小整數對象
2.2.3 大整數對象
2.2.4 添加和刪除
2.2.5 小整數對象池的初始化
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.2.1 創建對象
4.2.2 設置元素
4.2.3 插入元素
4.2.4 刪除元素
4.3 PYLISTOBJECT對象緩沖池
4.4 HACK PYLISTOBJECT
第5章 PYTHON中的DICT對象
5.1 散列表概述
5.2 PYDICTOBJECT
5.2.1 關聯容器的entry
5.2.2 關聯容器的實現
5.3 PYDICTOBJECT的創建和維護
5.3.1 PyDictObject對象創建
5.3.2 PyDictObject中的元素搜索
5.3.3 插入與刪除
5.3.4 操作示例
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.2.1 PyCodeObject對象與pyc文件
7.2.2 Python源碼中的PyCodeObject
7.2.3 pyc文件
7.2.4 在Python中訪問PyCodeObject對象
7.3 PYC文件的生成
7.3.1 創建pyc文件的具體過程
7.3.2 向pyc文件寫入字符串
7.3.3 一個PyCodeObject,多個PyCodeObject
7.4 PYTHON的字節碼
7.5 解析PYC文件
第8章 PYTHON虛擬機框架
8.1 PYTHON虛擬機中的執行環境
8.1.1 Python源碼中的PyFrameObject
8.1.2 PyFrameObject中的動態內存空間
8.1.3 在Python中訪問PyFrameObject對象
8.2 名字、作用域和名字空間
8.2.1 Python程序的基礎結構——module
8.2.2 約束與名字空間
8.2.3 作用域與名字空間
8.3 PYTHON虛擬機的運行框架
8.4 PYTHON運行時環境初探
第9章 PYTHON虛擬機中的一般表達式
9.1 簡單內建對象的創建
9.2 復雜內建對象的創建
9.3 其他一般表達式
9.3.1 符號搜索
9.3.2 數值運算
9.3.3 信息輸出
第10章 PYTHON虛擬機中的控制流
10.1 PYTHON虛擬機中的IF控制流
10.1.1 研究對象--if_control.py
10.1.2 比較操作
10.1.3 指令跳躍
10.2 PYTHON虛擬機中的FOR循環控制流
10.2.1 研究對象——for_control.py
10.2.2 循環控制結構的初始化
10.2.3 迭代控制
10.2.4 終止迭代
10.3 PYTHON虛擬機中的WHILE循環控制結構
10.3.1 研究對象——while_control.py
10.3.2 循環終止
10.3.3 循環的正常運轉
10.3.4 循環流程改變指令之continue
10.3.5 循環流程改變指令之break
10.4 PYTHON虛擬機中的異常控制流
10.4.1 Python中的異常機制
10.4.2 Python中的異常控制語義結構
第11章 PYTHON虛擬機中的函數機制
11.1 PYFUNCTIONOBJECT對象
11.2 無參函數調用
11.2.1 函數對象的創建
11.2.2 函數調用
11.3 函數執行時的名字空間
11.4 函數參數的實現
11.4.1 參數類別
11.4.2 位置參數的傳遞
11.4.3 位置參數的訪問
11.4.4 位置參數的默認值
11.4.5 擴展位置參數和擴展鍵參數
11.5 函數中局部變量的訪問
11.6 嵌套函數、閉包與DECORATOR
11.6.1 實現閉包的基石
11.6.2 閉包的實現
11.6.3 Decorator
第12章 PYTHON虛擬機中的類機制
12.1 PYTHON中的對象模型
12.1.1 對象間的關系
12.1.2 和
12.2 從TYPE對象到CLASS對象
12.2.1 處理基類和type信息
12.2.2 處理基類列表
12.2.3 填充tp_dict
12.3 用戶自定義CLASS
12.3.1 創建class對象
12.4 從CLASS對象到INSTANCE對象
12.5 訪問INSTANCE對象中的屬性
12.5.1 instance對象中的__dict__
12.5.2 再論descriptor
12.5.3 函數變身
12.5.4 無參函數的調用
12.5.5 帶參函數的調用
12.5.6 Bound Method和Unbound Method
12.6 千變萬化的DESCRIPTOR
第3部分 PYTHON高級話題
第13章 PYTHON運行環境初始化
13.1 線程環境初始化
13.1.1 線程模型回顧
13.1.2 初始化線程環境
13.2 系統MODULE初始化
13.2.1 創建__builtin__ module
13.2.2 創建sys module
13.2.3 創建__main__ module
13.2.4 設置site-specific的module的搜索路徑
13.3 激活PYTHON虛擬機
13.3.1 交互式運行方式
13.3.2 腳本文件運行方式
13.3.3 啟動虛擬機
13.3.4 名字空間
第14章 PYTHON模塊的動態加載機制
14.1 IMPORT前奏曲
14.2 PYTHON中IMPORT機制的黑盒探測
14.2.1 標準import
14.2.2 嵌套import
14.2.3 import package
14.2.4 from與import
14.2.5 符號重命名
14.2.6 符號的銷毀與重載
14.3 IMPORT機制的實現
14.3.1 解析module/package樹狀結構
14.3.2 加載module/pakcage
14.3.3 from與import
14.4 PYTHON中的IMPORT操作
14.4.1 import module
14.4.2 import package
14.4.3 from & import
14.4.4 import & as
14.4.5 reload
14.4.6 內建module:imp
14.5 與MODULE有關的名字空間問題
第15章 PYTHON多線程機制
15.1 GIL與線程調度
15.2 初見PYTHON THREAD
15.3 PYTHON線程的創建
15.3.1 建立多線程環境
15.3.2 創建線程
15.4 PYTHON線程的調度
15.4.1 標準調度
15.4.2 阻塞調度
15.5 PYTHON子線程的銷毀
15.6 PYTHON線程的用戶級互斥與同步
15.6.1 用戶級互斥與同步
15.6.2 Lock對象
15.7 高級線程庫——THREADING
15.7.1 Threading Module概述
15.7.2 Threading的線程同步工具
15.7.3 Threading中的Thread
第16章 PYTHON的內存管理機制
16.1 內存管理架構
16.2 小塊空間的內存池
16.2.1 Block
16.2.2 Pool
16.2.3 arena
16.2.4 內存池
16.3 循環引用的垃圾收集
16.3.1 引用計數與垃圾收集
16.3.2 三色標記模型
16.4 PYTHON中的垃圾收集
16.4.1 可收集對象鏈表
16.4.2 分代的垃圾收集
16.4.3 Python中的標記-清除方法
16.4.4 垃圾收集全景
16.4.5 Python中的gc模塊
16.4.6 總結
python源碼剖析作者簡介
陳儒,計算機科學與工程專業碩士,問天(北京)信息技術有限公司技術負責人,致力于信息檢索方向的研究與開發。
python源碼剖析電子書截圖
- PC官方版
- 安卓官方手機版
- IOS官方手機版