《Python高級編程》是2010年人民郵電出版社出版的圖書,作者是(法國)萊德 夏海輪。
基本介紹
- 書名:Python高級編程
- 作者:(法國)萊德 夏海輪
- 出版社:人民郵電出版社
- 出版時間:2010年01月
內容簡介,作者簡介,作品目錄,
內容簡介
《Python高級編程》針對具備一定Python基礎並希望通過在項目中套用最佳實踐和新的開發技術來提升自己的Python開發人員。
作者簡介
萊德,是巴黎Ingeniweb公司的CTO,其工作方向為Python、Zope、Plone技術和質量保證。他參與Zope社區已經有5年了,並且曾經為Zope自身貢獻過代碼。
萊德創建了Afpy,這是法國的Python用戶組,並且編寫了兩本法語的Python書籍。他還在諸如Solutions Linux、Pycon、OSCON和EuroPython等法國及國際會議上發表了許多演講,並且主持了許多課程。
作品目錄
第 1章 準備工作 1
1.1 安裝Python 1
1.1.1 Python實現版本 2
1.1.2 在Linux環境下安裝 3
1.1.3 在Windows環境下安裝 5
1.1.4 在Mac OS X環境下安裝 8
1.2 Python命令行 9
1.2.1 定製互動式命令行 10
1.2.2 iPython:增強型命令行 11
1.3 安裝setuptools 12
1.3.1 工作原理 12
1.3.2 使用EasyInstall安裝setuptools 13
1.3.3 將MinGW整合到distutils中 15
1.4 工作環境 15
1.4.1 使用文本編輯器與輔助工具的組合 15
1.4.2 使用集成開發環境 19
1.5 小結 22
第 2章 語法**佳實踐——低於類級 23
2.1 列表推導 24
2.2 疊代器和生成器 25
2.2.1 生成器 27
2.2.2 協同程式 31
2.2.3 生成器表達式 33
2.2.4 itertools模組 34
2.3 裝飾器 37
2.3.1 如何編寫裝飾器 39
2.3.2 參數檢查 40
2.3.3 快取 42
2.3.4 代理 45
2.3.5 上下文提供者 46
2.4 with和contextlib 47
2.4.1 contextlib模組 49
2.4.2 上下文實例 50
2.5 小結 52
第3章 語法**佳實踐——類級 53
3.1 子類化內建類型 53
3.2 訪問超類中的方法 55
3.2.1 理解Python的方法解析順序 56
3.2.2 super的缺陷 60
3.3 **佳實踐 63
3.4 描述符和屬性 64
3.4.1 描述符 65
3.4.2 屬性 71
3.5 槽 74
3.6 元編程 75
3.6.1 __new__方法 75
3.6.2 __metaclass__方法 77
3.7 小結 80
第4章 選擇好的名稱 81
4.1 PEP 8和命名**佳實踐 81
4.2 命名風格 82
4.2.1 變數 82
4.2.2 函式和方法 86
4.2.3 屬性 88
4.2.4 類 89
4.2.5 模組和包 89
4.3 命名指南 90
4.3.1 使用“has”或“is”前綴命名布爾元素 90
4.3.2 用複數形式命名序列元素 90
4.3.3 用顯式的名稱命名字典 90
4.3.4 避免通用名稱 91
4.3.5 避免現有名稱 91
4.4 參數**佳實踐 92
4.4.1 根據疊代設計構建參數 92
4.4.2 信任參數和測試 93
4.4.3 小心使用*args和**kw魔法參數 94
4.5 類名 96
4.6 模組和包名稱 96
4.7 使用API 97
4.7.1 跟蹤冗長 97
4.7.2 構建命名空間樹 98
4.7.3 分解代碼 100
4.7.4 使用Egg 101
4.7.5 使用deprecation過程 101
4.8 有用的工具 102
4.8.1 Pylint 103
4.8.2 CloneDigger 104
4.9 小結 105
第5章 編寫一個包 106
5.1 用於所有包的公共模式 106
5.2 基於模板的方法 118
5.2.1 Python Paste 118
5.2.2 創建模板 120
5.3 創建包模板 120
5.4 開發周期 125
5.5 小結 128
第6章 編寫一個應用程式 129
6.1 Atomisator概述 129
6.2 整體描述 130
6.3 工作環境 131
6.3.1 添加一個測試運行程式 133
6.3.2 添加一個包結構 133
6.4 編寫各個包 134
6.4.1 atomisator.parser 134
6.4.2 atomisator.db 139
6.4.3 atomisator.feed 143
6.4.4 atomisator.main 145
6.5 分發Atomisator 147
6.6 包之間的依賴性 148
6.7 小結 149
第7章 使用zc.buildout 150
7.1 zc.buildout原理 151
7.1.1 配置檔案結構 151
7.1.2 buildout命令 152
7.1.3 recipe 154
7.1.4 Atomisator buildout環境 157
7.1.5 更進一步 158
7.2 發行與分發 159
7.2.1 發行包 160
7.2.2 添加一個發行配置檔案 160
7.2.3 構建和發行應用程式 161
7.3 小結 162
第8章 代碼管理 163
8.1 版本控制系統 163
8.1.1 集中式系統 163
8.1.2 分散式系統 165
8.1.3 集中還是分布 167
8.1.4 Mercurial 167
8.1.5 使用Mercurial進行項目管理 171
8.2 持續集成 178
8.3 小結 183
第9章 生命周期管理 184
9.1 不同的方法 184
9.1.1 瀑布開發模型 184
9.1.2 螺旋開發模型 185
9.1.3 疊代開發模型 185
9.2 定義生命周期 187
9.2.1 計畫 188
9.2.2 開發 188
9.2.3 整體調試 188
9.2.4 發行 188
9.3 建立一個跟蹤系統 189
9.3.1 Trac 189
9.3.2 使用Trac管理項目生命周期 194
9.4 小結 196
第 10章 編寫項目文檔 197
10.1 技術性寫作的7條規則 197
10.1.1 分兩步編寫 198
10.1.2 以讀者為目標 199
10.1.3 使用簡單的風格 199
10.1.4 限制信息的範圍 200
10.1.5 使用真實的代碼示例 200
10.1.6 保持簡單,夠用即可 201
10.1.7 使用模板 202
10.2 reStructuredText入門 202
10.2.1 小節結構 204
10.2.2 列表 205
10.2.3 內聯標籤 205
10.2.4 文字塊 206
10.2.5 連結 206
10.3 構建文檔 207
10.4 建立自己的工件集 214
10.5 小結 220
第 11章 測試驅動開發 221
11.1 我不測試 221
11.1.1 測試驅動開發原理 221
11.1.2 哪一類測試 225
11.1 我不測試 221
11.1.1 測試驅動開發原理 221
11.1.2 哪一類測試 225
11.2 我測試 229
11.2.1 Unittest的缺陷 229
11.2.2 Unittest替代品 230
11.2.3 仿真和模擬 236
11.2.4 文檔驅動開發 240
第12章 最佳化:通用原則和剖析技術 243
第13章 最佳化:解決方案 264
第14章 有用的設計模式 290