天天看點

python源碼剖析_Python源碼剖析的作品目錄

展開全部

第0章 PYTHON源碼剖析e5a48de588b63231313335323631343130323136353331333361303133--編譯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源碼剖析的作品目錄