注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計其他編程語言/工具Python高級編程

Python高級編程

Python高級編程

定 價:¥45.00

作 者: (法)萊德 著,姚軍,夏海輪,王秀麗 譯
出版社: 人民郵電出版社
叢編項:
標 簽: 程序設(shè)計

ISBN: 9787115217035 出版時間: 2010-01-01 包裝: 平裝
開本: 16開 頁數(shù): 306 字數(shù):  

內(nèi)容簡介

  《Python高級編程》通過大量的實例,介紹了Python語言的最佳實踐和敏捷開發(fā)方法,并涉及整個軟件生命周期的高級主題,諸如持續(xù)集成、版本控制系統(tǒng)、包的發(fā)行和分發(fā)、開發(fā)模式、文檔編寫等?!禤ython高級編程》首先介紹如何設(shè)置最優(yōu)的開發(fā)環(huán)境,然后以Python敏捷開發(fā)方法為線索,闡述如何將已被驗證的面向?qū)ο笤瓌t應(yīng)用到設(shè)計中。這些內(nèi)容為開發(fā)人員和項目管理人員提供了整個軟件工程中的許多高級概念以及專家級的建議,其中有些內(nèi)容的意義甚至超出了Python語言本身?!禤ython高級編程》針對具備一定Python基礎(chǔ)并希望通過在項目中應(yīng)用最佳實踐和新的開發(fā)技術(shù)來提升自己的Python開發(fā)人員。

作者簡介

  Tarek Ziadé,是巴黎Ingeniweb公司的CTO,其工作方向為Python、Zope、Plone技術(shù)和質(zhì)量保證。他參與Zope社區(qū)已經(jīng)有5年了,并且曾經(jīng)為Zope自身貢獻過代碼。Tarek創(chuàng)建了Afpy,這是法國的Python用戶組,并且編寫了兩本法語的Python書籍。他還在諸如Solutions Linux、Pycon、OSCON和EuroPython等法國及國際會議上發(fā)表了許多演講,并且主持了許多課程。

圖書目錄

第1章 準備工作 1
1.1 安裝Python 1
1.1.1 Python實現(xiàn)版本 2
1.1.2 在Linux環(huán)境下安裝 3
1.1.3 在Windows環(huán)境下安裝 5
1.1.4 在Mac OS X環(huán)境下安裝 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 工作環(huán)境 15
1.4.1 使用文本編輯器與輔助工具的組合 15
1.4.2 使用集成開發(fā)環(huán)境 19
1.5 小結(jié) 22
第2章 語法最佳實踐——低于類級 23
2.1 列表推導(dǎo) 24
2.2 迭代器和生成器 25
2.2.1 生成器 27
2.2.2 協(xié)同程序 31
2.2.3 生成器表達式 33
2.2.4 itertools模塊 34
2.3 裝飾器 37
2.3.1 如何編寫裝飾器 39
2.3.2 參數(shù)檢查 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 小結(jié) 52
第3章 語法最佳實踐——類級 53
3.1 子類化內(nèi)建類型 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 小結(jié) 80
第4章 選擇好的名稱 81
4.1 PEP 8和命名最佳實踐 81
4.2 命名風(fēng)格 82
4.2.1 變量 82
4.2.2 函數(shù)和方法 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 用復(fù)數(shù)形式命名序列元素 90
4.3.3 用顯式的名稱命名字典 90
4.3.4 避免通用名稱 91
4.3.5 避免現(xiàn)有名稱 91
4.4 參數(shù)最佳實踐 92
4.4.1 根據(jù)迭代設(shè)計構(gòu)建參數(shù) 92
4.4.2 信任參數(shù)和測試 93
4.4.3 小心使用*args和**kw魔法參數(shù) 94
4.5 類名 96
4.6 模塊和包名稱 96
4.7 使用API 97
4.7.1 跟蹤冗長 97
4.7.2 構(gòu)建命名空間樹 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 小結(jié) 105
第5章 編寫一個包 106
5.1 用于所有包的公共模式 106
5.2 基于模板的方法 118
5.2.1 Python Paste 118
5.2.2 創(chuàng)建模板 120
5.3 創(chuàng)建包模板 120
5.4 開發(fā)周期 125
5.5 小結(jié) 128
第6章 編寫一個應(yīng)用程序 129
6.1 Atomisator概述 129
6.2 整體描述 130
6.3 工作環(huán)境 131
6.3.1 添加一個測試運行程序 133
6.3.2 添加一個包結(jié)構(gòu) 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 分發(fā)Atomisator 147
6.6 包之間的依賴性 148
6.7 小結(jié) 149
第7章 使用zc.buildout 150
7.1 zc.buildout原理 151
7.1.1 配置文件結(jié)構(gòu) 151
7.1.2 buildout命令 152
7.1.3 recipe 154
7.1.4 Atomisator buildout環(huán)境 157
7.1.5 更進一步 158
7.2 發(fā)行與分發(fā) 159
7.2.1 發(fā)行包 160
7.2.2 添加一個發(fā)行配置文件 160
7.2.3 構(gòu)建和發(fā)行應(yīng)用程序 161
7.3 小結(jié) 162
第8章 代碼管理 163
8.1 版本控制系統(tǒng) 163
8.1.1 集中式系統(tǒng) 163
8.1.2 分布式系統(tǒng) 165
8.1.3 集中還是分布 167
8.1.4 Mercurial 167
8.1.5 使用Mercurial進行項目管理 171
8.2 持續(xù)集成 178
8.3 小結(jié) 183
第9章 生命周期管理 184
9.1 不同的方法 184
9.1.1 瀑布開發(fā)模型 184
9.1.2 螺旋開發(fā)模型 185
9.1.3 迭代開發(fā)模型 185
9.2 定義生命周期 187
9.2.1 計劃 188
9.2.2 開發(fā) 188
9.2.3 整體調(diào)試 188
9.2.4 發(fā)行 188
9.3 建立一個跟蹤系統(tǒng) 189
9.3.1 Trac 189
9.3.2 使用Trac管理項目生命周期 194
9.4 小結(jié) 196
第10章 編寫項目文檔 197
10.1 技術(shù)性寫作的7條規(guī)則 197
10.1.1 分兩步編寫 198
10.1.2 以讀者為目標 199
10.1.3 使用簡單的風(fēng)格 199
10.1.4 限制信息的范圍 200
10.1.5 使用真實的代碼示例 200
10.1.6 保持簡單,夠用即可 201
10.1.7 使用模板 202
10.2 reStructuredText入門 202
10.2.1 小節(jié)結(jié)構(gòu) 204
10.2.2 列表 205
10.2.3 內(nèi)聯(lián)標簽 205
10.2.4 文字塊 206
10.2.5 鏈接 206
10.3 構(gòu)建文檔 207
10.4 建立自己的工件集 214
10.5 小結(jié) 220
第11章 測試驅(qū)動開發(fā) 221
11.1 我不測試 221
11.1.1 測試驅(qū)動開發(fā)原理 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 文檔驅(qū)動開發(fā) 240
11.3 小結(jié) 242
第12章 優(yōu)化:通用原則和剖析技術(shù) 243
12.1 優(yōu)化的3條規(guī)則 243
12.1.1 首先使它能夠正常工作 243
12.1.2 從用戶的觀點進行 244
12.1.3 保持代碼易讀(從而易于維護) 245
12.2 優(yōu)化策略 245
12.2.1 尋找其他原因 245
12.2.2 度量硬件 246
12.2.3 編寫速度測試 246
12.3 查找瓶頸 247
12.3.1 剖析CPU的使用情況 247
12.3.2 剖析內(nèi)存使用情況 256
12.3.3 剖析網(wǎng)絡(luò)使用情況 262
12.4 小結(jié) 263
第13章 優(yōu)化:解決方案 264
13.1 降低復(fù)雜度 265
13.1.1 測量回路復(fù)雜度 265
13.1.2 測量大O記號 265
13.1.3 簡化 268
13.2 多線程 274
13.2.1 什么是多線程 274
13.2.2 Python處理線程的方式 274
13.2.3 什么時候應(yīng)該使用線程 275
13.3 多進程 280
13.4 緩存 284
13.4.1 確定性緩存 284
13.4.2 非確定性緩沖 287
13.4.3 主動式緩沖 288
13.5 小結(jié) 289
第14章 有用的設(shè)計模式 290
14.1 創(chuàng)建型模式 290
14.2 結(jié)構(gòu)型模式 293
14.3 行為型模式 299
14.3.1 觀察者 299
14.3.2 訪問者 301
14.3.3 模板 304
14.4 小結(jié) 306

本目錄推薦

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