幫助中心 | 我的帳號 | 關於我們

CPython設計與實現/圖靈程序設計叢書

  • 作者:(英)安東尼·肖|責編:張海艷|譯者:史海//趙羽//陳嘯//李俊辰
  • 出版社:人民郵電
  • ISBN:9787115645265
  • 出版日期:2024/06/01
  • 裝幀:平裝
  • 頁數:260
人民幣:RMB 99.8 元      售價:
放入購物車
加入收藏夾

內容大鋼
    大模型的出現讓AI技術經歷了從量變到質變的過程,而Python作為AI首選語言,一直默默推動著AI技術的快速發展。你是否想過,這是為什麼呢?答案就藏在CPython中!CPython是用C語言實現的Python解釋器,它是Python的官方實現,並且是使用最廣泛的Python解釋器。其實在談論Python的時候,99%的情況說的就是CPython!本書共16章,從獲取CPython源代碼開始,手把手帶你重新編譯CPython,我們將一起調試代碼、升級組件,在這個過程中,你可以詳細了解Python各類特性的工作原理,成長為一名更棒的Python程序員。

作者介紹
(英)安東尼·肖|責編:張海艷|譯者:史海//趙羽//陳嘯//李俊辰

目錄
第1章  獲取CPython源代碼
第2章  準備開發環境
  2.1  使用IDE或代碼編輯器
  2.2  安裝Visual Studio
  2.3  安裝Visual Studio Code
    2.3.1  安裝
    2.3.2  本書中的推薦擴展程序
    2.3.3  使用高級代碼導航和擴展
    2.3.4  配置任務和啟動文件
  2.4  安裝JetBrains CLion
  2.5  安裝Vim
  2.6  小結
第3章  編譯CPython
  3.1  在macOS系統上編譯CPython
  3.2  在Linux系統上編譯CPython
  3.3  安裝自定義版本
  3.4  make快速入門
  3.5  CPython的make目標
    3.5.1  構建目標
    3.5.2  測試目標
    3.5.3  清理目標
    3.5.4  安裝目標
    3.5.5  其他目標
  3.6  在Windows系統上編譯CPython
    3.6.1  安裝依賴項
    3.6.2  從命令行編譯
    3.6.3  使用Visual Studio編譯
  3.7  PGO
  3.8  小結
第4章  Python語言和語法
  4.1  為什麼CPython是用C語言而不是Python語言實現的
  4.2  Python語言規範
    4.2.1  語言說明文檔
    4.2.2  語法文件
  4.3  解析器生成器
  4.4  重新生成語法
  4.5  小結
第5章  配置和輸入
  5.1  配置狀態
    5.1.1  預初始化配置
    5.1.2  相關源文件
    5.1.3  運行時配置數據結構
    5.1.4  通過命令行來設置運行時配置
    5.1.5  查看運行時標誌
  5.2  構建配置
  5.3  從輸入構建模塊
    5.3.1  相關的源文件
    5.3.2  讀取文件和輸入
    5.3.3  從命令行輸入字元串
    5.3.4  通過本地模塊輸入

    5.3.5  來自腳本文件或標準輸入的輸入
    5.3.6  從編譯好的位元組碼輸入
  5.4  小結
第6章  基於語法樹的詞法分析和語法解析
  6.1  具象語法樹生成器
  6.2  CPython解析器-分詞器
    6.2.1  相關源文件
    6.2.2  從文件向解析器中輸入數據
    6.2.3  解析器-分詞器工作流
  6.3  抽象語法樹
    6.3.1  相關源文件
    6.3.2  使用instaviz工具展示抽象語法樹
    6.3.3  編譯抽象語法樹
  6.4  要記住的術語
  6.5  示例:添加一個約等於運算符
  6.6  小結
第7章  編譯器
  7.1  相關源文件
  7.2  重要的專業術語
  7.3  實例化一個編譯器
  7.4  未來標誌和編譯器標誌
    7.4.1  未來標誌
    7.4.2  在Python 3.9中引用未來標誌
    7.4.3  編譯器標誌
  7.5  符號表
    7.5.1  相關源文件
    7.5.2  符號表數據結構
    7.5.3  使用symtable標準庫模塊
    7.5.4  符號表實現
  7.6  核心編譯過程
    7.6.1  從Python訪問編譯器
    7.6.2  編譯器C語言API
    7.6.3  指令
    7.6.4  基礎幀塊
    7.6.5  操作和參數
  7.7  彙編
    7.7.1  彙編器數據結構
    7.7.2  彙編器深度優先搜索演算法
    7.7.3  彙編器C語言API
    7.7.4  深度優先搜索
  7.8  創建一個代碼對象
  7.9  使用instaviz展示代碼對象
  7.10  示例:實現約等於運算符
  7.11  小結
第8章  求值循環
  8.1  相關源文件
  8.2  重要術語
  8.3  構建線程狀態
    8.3.1  線程狀態類型
    8.3.2  相關源文件

  8.4  構建幀對象
    8.4.1  幀對象類型
    8.4.2  相關源文件
    8.4.3  幀對象初始化API
  8.5  幀的執行
  8.6  值棧
    8.6.1  位元組碼操作的例子:BINARY_OR
    8.6.2  模擬值棧
    8.6.3  棧效果
  8.7  示例:在列表中添加元素
  8.8  小結
第9章  內存管理
  9.1  C語言中的內存分配
    9.1.1  靜態內存分配
    9.1.2  自動內存分配
    9.1.3  動態內存分配
  9.2  Python內存管理系統設計
    9.2.1  內存分配域
    9.2.2  內存分配器
  9.3  CPython內存分配器
    9.3.1  相關源文件
    9.3.2  重要術語
    9.3.3  內存塊、內存池和堆區
    9.3.4  內存塊分配API
    9.3.5  使用Python調試API
  9.4  對象和PyMem內存分配域
  9.5  原始內存分配域
  9.6  自定義內存分配器
  9.7  自定義的內存分配「消毒劑」
    9.7.1  AddressSanitizer
    9.7.2  MemorySanitizer
    9.7.3  UndefinedBehaviorSanitizer
  9.8  PyArena內存堆區
  9.9  引用計數
    9.9.1  在Python中創建變數
    9.9.2  增加引用
    9.9.3  減少引用
    9.9.4  位元組碼操作中的引用計數
    9.9.5  CPython引用計數的優點
  9.10  垃圾回收
    9.10.1  相關源文件
    9.10.2  垃圾回收器的設計
    9.10.3  垃圾回收器管理的容器類型
    9.10.4  不可追蹤對象與可變性
    9.10.5  垃圾回收演算法
    9.10.6  分代垃圾回收
    9.10.7  使用Python的垃圾回收API
  9.11  小結
第10章  並行和併發
  10.1  並行模型和併發模型

  10.2  進程的結構
  10.3  多進程並行
    10.3.1  在POSIX中fork進程
    10.3.2  Windows系統上的多進程
    10.3.3  multiprocessing包
    10.3.4  相關源文件
    10.3.5  spawn進程和fork進程
    10.3.6  使用隊列和管道交換數據
    10.3.7  進程之間的共享狀態
    10.3.8  示例應用程序
    10.3.9  多進程總結
  10.4  多線程
    10.4.1  全局解釋器鎖
    10.4.2  相關源文件
    10.4.3  在Python中啟動線程
    10.4.4  線程狀態
    10.4.5  POSIX線程
    10.4.6  Windows線程
    10.4.7  多線程總結
  10.5  非同步編程
  10.6  生成器
    10.6.1  生成器結構
    10.6.2  相關源文件
    10.6.3  創建生成器
    10.6.4  執行生成器
  10.7  協程
    10.7.1  相關源文件
    10.7.2  事件循環
    10.7.3  示例
  10.8  非同步生成器
  10.9  子解釋器
    10.9.1  相關源文件
    10.9.2  示例
  10.10  小結
第11章  對象和類型
  11.1  本章示例
  11.2  內置類型
  11.3  對象類型和可變長度對象類型
  11.4  type類型
    11.4.1  類型槽
    11.4.2  在C語言中使用類型
    11.4.3  類型屬性字典
  11.5  bool類型和long類型
    11.5.1  long類型
    11.5.2  示例
  11.6  Unicode字元串類型
    11.6.1  相關源文件
    11.6.2  處理Unicode碼點
    11.6.3  UTF-8和UTF-
    11.6.4  寬字元類型

    11.6.5  位元組順序標記
    11.6.6  encodings包
    11.6.7  編解碼器模塊
    11.6.8  編解碼器的實現
    11.6.9  內部的編解碼器
    11.6.10  示例
  11.7  字典類型
    11.7.1  哈希
    11.7.2  相關源文件
    11.7.3  字典結構
    11.7.4  查找
  11.8  小結
第12章  標準庫
  12.1  Python模塊
  12.2  Python模塊和C語言模塊
第13章  測試套件
  13.1  在Windows系統上運行測試套件
  13.2  在Linux系統或macOS系統上運行測試套件
  13.3  測試標誌
  13.4  運行特定測試
  13.5  測試模塊
  13.6  測試工具
  13.7  小結
第14章  調試
  14.1  使用崩潰處理程序
  14.2  編譯調試的支持
    14.2.1  Windows系統
    14.2.2  macOS系統或Linux系統
  14.3  在macOS系統上使用LLDB
    14.3.1  創建斷點
    14.3.2  啟動CPython
    14.3.3  附加到正在運行的CPython解釋器中
    14.3.4  處理斷點
    14.3.5  使用cpython_lldb擴展
  14.4  使用GDB
    14.4.1  創建斷點
    14.4.2  啟動CPython
    14.4.3  附加到正在運行的CPython解釋器中
    14.4.4  處理斷點
    14.4.5  使用python-gdb擴展
  14.5  使用Visual Studio調試器
    14.5.1  添加斷點
    14.5.2  啟動調試器
    14.5.3  處理斷點
  14.6  使用CLion調試器
    14.6.1  調試make應用程序
    14.6.2  附加調試器
    14.6.3  創建斷點
    14.6.4  處理斷點
  14.7  小結

第15章  基準測試、性能分析和追蹤
  15.1  使用timeit進行微基準測試
  15.2  使用Python基準測試套件進行
運行時基準測試
    15.2.1  執行基準測試
    15.2.2  對比基準測試
  15.3  使用cProfile分析Python代碼
  15.4  使用DTrace分析C語言代碼
    15.4.1  相關源文件
    15.4.2  安裝DTrace
    15.4.3  編譯DTrace支持
    15.4.4  使用CLion中的DTrace
    15.4.5  DTrace示例
  15.5  小結
第16章  下一步計劃
  16.1  為CPython編寫C語言擴展模塊
  16.2  改進Python應用程序
  16.3  為CPython項目做貢獻
    16.3.1  問題分類
    16.3.2  創建一個拉取請求來修復問題
    16.3.3  其他貢獻
  16.4  繼續學習
附錄A  面向Python程序員的C語言
簡介

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032