python源码深度剖析_Python源码剖析-深度探索动态语言核心技术 PDF 下载
相關(guān)截圖:
資料簡介:
作為主流的動態(tài)語言,Python不僅簡單易學(xué)、移植性好,而且擁有強大豐富的庫的支持。此外,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中的一般表達式、控制結(jié)構(gòu)、異常機制、類機制、多線程機制、模塊的動態(tài)加載機制、內(nèi)存管理機制等核心技術(shù)的運行原理,同時,本書所揭示的動態(tài)語言的核心技術(shù)對于理解其他動態(tài)語言,如Java*、Ruby等也有較大的參考價值。 本書適合于Python程序員、動態(tài)語言愛好者、C程序員閱讀
資料目錄:
第0章PYTHON源碼剖析--編譯PYTHON0.1PYTHON總體架構(gòu)0.2PYTHON源代碼的組織0.3WINDOWS環(huán)境下編譯PYTHON0.4UNIX/LINUX環(huán)境下編譯PYTHON0.5修改PYTHON源代碼0.6通往PYTHON之路0.7一些注意事項第1部分PYTHON內(nèi)建對象第1章PYTHON對象初探1.1PYTHON內(nèi)的對象1.1.1對象機制的基石——PyObject1.1.2定長對象和變長對象1.2類型對象1.2.1對象的創(chuàng)建1.2.2對象的行為1.2.3類型的類型1.3PYTHON對象的多態(tài)性1.4引用計數(shù)1.5PYTHON對象的分類第2章PYTHON中的整數(shù)對象2.1初識PYINTOBJECT對象2.2PYINTOBJECT對象的創(chuàng)建和維護2.2.1對象創(chuàng)建的3種途徑2.2.2小整數(shù)對象2.2.3大整數(shù)對象2.2.4添加和刪除2.2.5小整數(shù)對象池的初始化2.3HACKPYINTOBJECT第3章PYTHON中的字符串對象3.1PYSTRINGOBJECT與PYSTRING_TYPE3.2創(chuàng)建PYSTRINGOBJECT對象3.3字符串對象的INTERN機制3.4字符緩沖池3.5PYSTRINGOBJECT效率相關(guān)問題3.6HACKPYSTRINGOBJECT第4章PYTHON中的LIST對象4.1PYLISTOBJECT對象4.2PYLISTOBJECT對象的創(chuàng)建與維護4.2.1創(chuàng)建對象4.2.2設(shè)置元素4.2.3插入元素4.2.4刪除元素4.3PYLISTOBJECT對象緩沖池4.4HACKPYLISTOBJECT第5章PYTHON中的DICT對象5.1散列表概述5.2PYDICTOBJECT5.2.1關(guān)聯(lián)容器的entry5.2.2關(guān)聯(lián)容器的實現(xiàn)5.3PYDICTOBJECT的創(chuàng)建和維護5.3.1PyDictObject對象創(chuàng)建5.3.2PyDictObject中的元素搜索5.3.3插入與刪除5.3.4操作示例5.4PYDICTOBJECT對象緩沖池5.5HACKPYDICTOBJECT第6章最簡單的PYTHON模擬——SMALLPYTHON6.1SMALLPYTHON6.2對象機制6.3解釋過程6.4交互式環(huán)境第2部分PYTHON虛擬機第7章PYTHON的編譯結(jié)果--CODE對象與PYC文件7.1PYTHON程序的執(zhí)行過程7.2PYTHON編譯器的編譯結(jié)果--PYCODEOBJECT對象7.2.1PyCodeObject對象與pyc文件7.2.2Python源碼中的PyCodeObject7.2.3pyc文件7.2.4在Python中訪問PyCodeObject對象7.3PYC文件的生成7.3.1創(chuàng)建pyc文件的具體過程7.3.2向pyc文件寫入字符串7.3.3一個PyCodeObject,多個PyCodeObject7.4PYTHON的字節(jié)碼7.5解析PYC文件第8章PYTHON虛擬機框架8.1PYTHON虛擬機中的執(zhí)行環(huán)境8.1.1Python源碼中的PyFrameObject8.1.2PyFrameObject中的動態(tài)內(nèi)存空間8.1.3在Python中訪問PyFrameObject對象8.2名字、作用域和名字空間8.2.1Python程序的基礎(chǔ)結(jié)構(gòu)——module8.2.2約束與名字空間8.2.3作用域與名字空間8.3PYTHON虛擬機的運行框架8.4PYTHON運行時環(huán)境初探第9章PYTHON虛擬機中的一般表達式9.1簡單內(nèi)建對象的創(chuàng)建9.2復(fù)雜內(nèi)建對象的創(chuàng)建9.3其他一般表達式9.3.1符號搜索9.3.2數(shù)值運算9.3.3信息輸出第10章PYTHON虛擬機中的控制流10.1PYTHON虛擬機中的IF控制流10.1.1研究對象--if_control.py10.1.2比較操作10.1.3指令跳躍10.2PYTHON虛擬機中的FOR循環(huán)控制流10.2.1研究對象——for_control.py10.2.2循環(huán)控制結(jié)構(gòu)的初始化10.2.3迭代控制10.2.4終止迭代10.3PYTHON虛擬機中的WHILE循環(huán)控制結(jié)構(gòu)10.3.1研究對象——while_control.py10.3.2循環(huán)終止10.3.3循環(huán)的正常運轉(zhuǎn)10.3.4循環(huán)流程改變指令之continue10.3.5循環(huán)流程改變指令之break10.4PYTHON虛擬機中的異常控制流10.4.1Python中的異常機制10.4.2Python中的異常控制語義結(jié)構(gòu)第11章PYTHON虛擬機中的函數(shù)機制11.1PYFUNCTIONOBJECT對象11.2無參函數(shù)調(diào)用11.2.1函數(shù)對象的創(chuàng)建11.2.2函數(shù)調(diào)用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ù)、閉包與DECORATOR11.6.1實現(xiàn)閉包的基石11.6.2閉包的實現(xiàn)11.6.3Decorator第12章PYTHON虛擬機中的類機制12.1PYTHON中的對象模型12.1.1對象間的關(guān)系12.1.2和12.2從TYPE對象到CLASS對象12.2.1處理基類和type信息12.2.2處理基類列表12.2.3填充tp_dict12.3用戶自定義CLASS12.3.1創(chuàng)建class對象12.4從CLASS對象到INSTANCE對象12.5訪問INSTANCE對象中的屬性12.5.1instance對象中的__dict__12.5.2再論de*or12.5.3函數(shù)變身12.5.4無參函數(shù)的調(diào)用12.5.5帶參函數(shù)的調(diào)用12.5.6BoundMethod和UnboundMethod12.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__module13.2.2創(chuàng)建sysmodule13.2.3創(chuàng)建__main__module13.2.4設(shè)置site-specific的module的搜索路徑13.3激活PYTHON虛擬機13.3.1交互式運行方式13.3.2腳本文件運行方式13.3.3啟動虛擬機13.3.4名字空間第14章PYTHON模塊的動態(tài)加載機制14.1IMPORT前奏曲14.2PYTHON中IMPORT機制的黑盒探測14.2.1標(biāo)準(zhǔn)import14.2.2嵌套import14.2.3importpackage14.2.4from與import14.2.5符號重命名14.2.6符號的銷毀與重載14.3IMPORT機制的實現(xiàn)14.3.1解析module/package樹狀結(jié)構(gòu)14.3.2加載module/pakcage14.3.3from與import14.4PYTHON中的IMPORT操作14.4.1importmodule14.4.2importpackage14.4.3from&import14.4.4import&as14.4.5reload14.4.6內(nèi)建module:imp14.5與MODULE有關(guān)的名字空間問題第15章PYTHON多線程機制15.1GIL與線程調(diào)度15.2初見PYTHONTHREAD15.3PYTHON線程的創(chuàng)建15.3.1建立多線程環(huán)境15.3.2創(chuàng)建線程15.4PYTHON線程的調(diào)度15.4.1標(biāo)準(zhǔn)調(diào)度15.4.2阻塞調(diào)度15.5PYTHON子線程的銷毀15.6PYTHON線程的用戶級互斥與同步15.6.1用戶級互斥與同步15.6.2Lock對象15.7高級線程庫——THREADING15.7.1ThreadingModule概述15.7.2Threading的線程同步工具15.7.3Threading中的Thread第16章PYTHON的內(nèi)存管理機制16.1內(nèi)存管理架構(gòu)16.2小塊空間的內(nèi)存池16.2.1Block16.2.2Pool16.2.3arena16.2.4內(nèi)存池16.3循環(huán)引用的垃圾收集16.3.1引用計數(shù)與垃圾收集16.3.2三色標(biāo)記模型16.4PYTHON中的垃圾收集16.4.1可收集對象鏈表16.4.2分代的垃圾收集16.4.3Python中的標(biāo)記-清除方法16.4.4垃圾收集全景16.4.5Python中的gc模塊16.4.6總結(jié)
總結(jié)
以上是生活随笔為你收集整理的python源码深度剖析_Python源码剖析-深度探索动态语言核心技术 PDF 下载的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opencv及相机相关6
- 下一篇: 版本号命名规范