注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計其他編程語言/工具Python源碼剖析

Python源碼剖析

Python源碼剖析

定 價:¥69.80

作 者: 陳儒 著
出版社: 電子工業(yè)出版社
叢編項: 深度探索動態(tài)語言核心技術
標 簽: 程序設計

ISBN: 9787121068744 出版時間: 2008-06-01 包裝: 平裝
開本: 16開 頁數(shù): 480 字數(shù):  

內(nèi)容簡介

  作為主流的動態(tài)語言,Python不僅簡單易學、移植性好,而且擁有強大豐富的庫的支持。此外,Python強大的可擴展性,讓開發(fā)人員既可以非常容易地利用C/C++編寫Python的擴展模塊,還能將Python嵌入到C/C++程序中,為自己的系統(tǒng)添加動態(tài)擴展和動態(tài)編程的能力。為了更好地利用Python語言,無論是使用Python語言本身,還是將Python與C/C++交互使用,深刻理解Python的運行原理都是非常重要的。本書以CPython為研究對象,在C代碼一級,深入細致地剖析了Python的實現(xiàn)。書中不僅包括了對大量Python內(nèi)置對象的剖析,更將大量的篇幅用于對Python虛擬機及Python高級特性的剖析。通過此書,讀者能夠透徹地理解Python中的一般表達式、控制結構、異常機制、類機制、多線程機制、模塊的動態(tài)加載機制、內(nèi)存管理機制等核心技術的運行原理,同時,本書所揭示的動態(tài)語言的核心技術對于理解其他動態(tài)語言,如Javascript、Ruby等也有較大的參考價值。本書適合于Python程序員、動態(tài)語言愛好者、C程序員閱讀。

作者簡介

  陳儒,計算機科學與工程專業(yè)碩士,問天(北京)信息技術有限公司技術負責人,致力于信息檢索方向的研究和開發(fā)(www.isoche.com)。個人博客:Dynamic Life(http://blog.csdn.net/balabalamerobert)。

圖書目錄

第0章 PYTHON源碼剖析--編譯PYTHON
 0.1 PYTHON總體架構
 0.2 PYTHON源代碼的組織
 0.3 WINDOWS環(huán)境下編譯PYTHON
 0.4 UNIX/LINUX環(huán)境下編譯PYTHON
 0.5 修改PYTHON源代碼
 0.6 通往PYTHON之路
 0.7 一些注意事項
第1部分 PYTHON內(nèi)建對象
 第1章 PYTHON對象初探
  1.1 PYTHON內(nèi)的對象
   1.1.1 對象機制的基石——PyObject
   1.1.2 定長對象和變長對象
  1.2 類型對象
   1.2.1 對象的創(chuàng)建
   1.2.2 對象的行為
   1.2.3 類型的類型
  1.3 PYTHON對象的多態(tài)性
  1.4 引用計數(shù)
  1.5 PYTHON對象的分類
 第2章 PYTHON中的整數(shù)對象
  2.1 初識PYINTOBJECT對象
  2.2 PYINTOBJECT對象的創(chuàng)建和維護
   2.2.1 對象創(chuàng)建的3種途徑
   2.2.2 小整數(shù)對象
   2.2.3 大整數(shù)對象
   2.2.4 添加和刪除
   2.2.5 小整數(shù)對象池的初始化
  2.3 HACK PYINTOBJECT
 第3章 PYTHON中的字符串對象
  3.1 PYSTRINGOBJECT與PYSTRING_TYPE
  3.2 創(chuàng)建PYSTRINGOBJECT對象
  3.3 字符串對象的INTERN機制
  3.4 字符緩沖池
  3.5 PYSTRINGOBJECT效率相關問題
  3.6 HACK PYSTRINGOBJECT
 第4章 PYTHON中的LIST對象
  4.1 PYLISTOBJECT對象
  4.2 PYLISTOBJECT對象的創(chuàng)建與維護
   4.2.1 創(chuàng)建對象
   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 關聯(lián)容器的entry
   5.2.2 關聯(lián)容器的實現(xiàn)
  5.3 PYDICTOBJECT的創(chuàng)建和維護
   5.3.1 PyDictObject對象創(chuàng)建
   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 交互式環(huán)境
第2部分 PYTHON虛擬機
 第7章 PYTHON的編譯結果--CODE對象與PYC文件
  7.1 PYTHON程序的執(zhí)行過程
  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 創(chuàng)建pyc文件的具體過程
   7.3.2 向pyc文件寫入字符串
   7.3.3 一個PyCodeObject,多個PyCodeObject
  7.4 PYTHON的字節(jié)碼
  7.5 解析PYC文件
 第8章 PYTHON虛擬機框架
  8.1 PYTHON虛擬機中的執(zhí)行環(huán)境
   8.1.1 Python源碼中的PyFrameObject
   8.1.2 PyFrameObject中的動態(tài)內(nèi)存空間
   8.1.3 在Python中訪問PyFrameObject對象
  8.2 名字、作用域和名字空間
   8.2.1 Python程序的基礎結構——module
   8.2.2 約束與名字空間
   8.2.3 作用域與名字空間
  8.3 PYTHON虛擬機的運行框架
  8.4 PYTHON運行時環(huán)境初探
 第9章 PYTHON虛擬機中的一般表達式
  9.1 簡單內(nèi)建對象的創(chuàng)建
  9.2 復雜內(nèi)建對象的創(chuàng)建
  9.3 其他一般表達式
   9.3.1 符號搜索
   9.3.2 數(shù)值運算
   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循環(huán)控制流
   10.2.1 研究對象——for_control.py
   10.2.2 循環(huán)控制結構的初始化
   10.2.3 迭代控制
   10.2.4 終止迭代
  10.3 PYTHON虛擬機中的WHILE循環(huán)控制結構
   10.3.1 研究對象——while_control.py
   10.3.2 循環(huán)終止
   10.3.3 循環(huán)的正常運轉
   10.3.4 循環(huán)流程改變指令之continue
   10.3.5 循環(huán)流程改變指令之break
  10.4 PYTHON虛擬機中的異??刂屏?br />   10.4.1 Python中的異常機制
   10.4.2 Python中的異常控制語義結構
 第11章 PYTHON虛擬機中的函數(shù)機制
  11.1 PYFUNCTIONOBJECT對象
  11.2 無參函數(shù)調用
   11.2.1 函數(shù)對象的創(chuàng)建
   11.2.2 函數(shù)調用
  11.3 函數(shù)執(zhí)行時的名字空間
  11.4 函數(shù)參數(shù)的實現(xiàn)
   11.4.1 參數(shù)類別
   11.4.2 位置參數(shù)的傳遞
   11.4.3 位置參數(shù)的訪問
   11.4.4 位置參數(shù)的默認值
   11.4.5 擴展位置參數(shù)和擴展鍵參數(shù)
  11.5 函數(shù)中局部變量的訪問
  11.6 嵌套函數(shù)、閉包與DECORATOR
   11.6.1 實現(xiàn)閉包的基石
   11.6.2 閉包的實現(xiàn)
   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 創(chuàng)建class對象
  12.4 從CLASS對象到INSTANCE對象
  12.5 訪問INSTANCE對象中的屬性
   12.5.1 instance對象中的__dict__
   12.5.2 再論descriptor
   12.5.3 函數(shù)變身
   12.5.4 無參函數(shù)的調用
   12.5.5 帶參函數(shù)的調用
   12.5.6 Bound Method和Unbound Method
  12.6 千變?nèi)f化的DESCRIPTOR
第3部分 PYTHON高級話題
 第13章 PYTHON運行環(huán)境初始化
  13.1 線程環(huán)境初始化
   13.1.1 線程模型回顧
   13.1.2 初始化線程環(huán)境
  13.2 系統(tǒng)MODULE初始化
   13.2.1 創(chuàng)建__builtin__ module
   13.2.2 創(chuàng)建sys module
   13.2.3 創(chuàng)建__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模塊的動態(tài)加載機制
  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機制的實現(xiàn)
   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 內(nèi)建module:imp
  14.5 與MODULE有關的名字空間問題
 第15章 PYTHON多線程機制
  15.1 GIL與線程調度
  15.2 初見PYTHON THREAD
  15.3 PYTHON線程的創(chuàng)建
   15.3.1 建立多線程環(huán)境
   15.3.2 創(chuàng)建線程
  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的內(nèi)存管理機制
  16.1 內(nèi)存管理架構
  16.2 小塊空間的內(nèi)存池
   16.2.1 Block
   16.2.2 Pool
   16.2.3 arena
   16.2.4 內(nèi)存池
  16.3 循環(huán)引用的垃圾收集
   16.3.1 引用計數(shù)與垃圾收集
   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 總結

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號