|
-- 會員 / 註冊 --
|
|
|
|
自己動手寫Python虛擬機 ( 簡體 字) |
作者:海納 | 類別:1. -> 程式設計 -> Python |
譯者: |
出版社:北京航空航天大學出版社 | 3dWoo書號: 51407 詢問書籍請說出此書號!【缺書】 NT售價: 395 元 |
出版日:6/1/2019 |
頁數:332 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787512429758 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:本書按內容分為六個部分,*部分介紹語言虛擬機器的基本概念,並實現位元組碼解譯器;第二部分,實現內嵌類型,如整數、字串、清單和字典等;第三部分,實現了函數;第四部分,實現自訂類、物件和方法;第五部分,實現垃圾回收,也就是自動記憶體管理;第六部分,模組和反覆運算。本書的章節內容之間都有很強的依賴性,後面的章節內容都是在前面章節的基礎上去實現的,所以讀者必須按部就班地從前向後閱讀,才能保證閱讀的流暢。 本書適合的人群包括:在校大學生(可以通過本書掌握很多計算機工作運行的核心知識),以及對編譯器,程式設計語言感興趣的人。
|
目錄:第1章程式設計語言虛擬機器1 1.1程式設計語言的發展1 1.2程式設計語言虛擬機器2 1.3開發環境5 第2章編譯流程6 2.1Python位元組碼6 2.2詞法分析7 2.3文法分析10 2.4抽象語法樹13 2.4.1構建AST14 2.4.2遞迴程式的本質16 2.4.3訪問者模式21 2.4.4用Visitor重寫AST29 第3章二進位檔案結構32 3.1pyc檔案格式32 3.2載入CodeObject34 3.2.1準備工具36 3.2.2創建CodeObject41 3.3整理工程結構47 3.4執行位元組碼49 第4章實現控制流55 4.1分支結構55 4.1.1條件判斷56 4.1.2跳轉59 4.1.3True、False和None60 4.2迴圈結構62 4.2.1變數62 4.2.2迴圈內的跳轉67 第5章基本的資料類型75 5.1KlassOop二元結構75 5.2整數78 5.3字串82 第6章函數和方法85 6.1函數85 6.1.1棧幀86 6.1.2創建FunctionObject89 6.1.3調用方法92 6.2變數和參數96 6.2.1LEGB規則96 6.2.2函數的參數104 6.2.3參數預設值107 6.3Native函數111 6.4方法115 第7章清單和字典122 7.1列表122 7.1.1列表的定義122 7.1.2操作列表126 7.2字典154 7.2.1字典的定義154 7.2.2操作字典157 7.3增強函數功能165 7.3.1靈活多變的函數參數165 7.3.2閉包和函數修飾器172 7.4總結179 第8章類和對象180 8.1類型對象180 8.1.1TypeObject180 8.1.2object185 8.1.3通過類型創建對象189 8.2自訂類型191 8.3創建對象196 8.4操作符重載206 8.5繼承215 第9章垃圾回收223 9.1自動記憶體管理223 9.1.1概念定義223 9.1.2引用計數224 9.1.3圖的知識226 9.1.4TracingGC231 9.2複製回收234 9.2.1演算法描述234 9.2.2演算法實現235 9.2.3建堆237 9.2.4在堆中創建對象243 9.2.5垃圾回收247 第10章模組和庫261 10.1import語句261 10.1.1ModuleObject262 10.1.2載入模組264 10.1.3from子句266 10.2builtin模組268 10.3載入動態庫271 10.3.1定義介面27 10.3.2實現math module277 第11章反覆運算281 11.1異常281 11.1.1finally子句281 11.1.2break和continue287 11.1.3Exception291 11.2自訂反覆運算器類306 11.3Generator309 11.3.1yield語句309 11.3.2Generator對象311 11.4總結317 附錄APython2位元組碼表318 附錄B高級演算法321 B.1字串查找321 B.2排序演算法325 B.2.1快速排序325 B.2.2選擇排序328 B.2.3堆排序329
|
序: |
|