這不是一本常規意義上python的入門書。這本書中沒有python關鍵字和for迴圈的使用,也沒有細緻入微的標準庫介紹,而是完全從實戰的角度出發,對構建乙個完整的python應用所需掌握的知識進行了系統而完整的介紹。更為難得的是,本書的作者是開源專案openstack的ptl(專案技術負責人)之一,因此本書結合了python在openstack中的應用進行講解,非常具有實戰指導意義。
本書從如何開始乙個新的專案講起,首先是整個專案的結構設計,對模組和庫的管理,如何編寫文件,進而講到如何分發,以及如何通過虛擬環境對專案進行測試。此外,本書還涉及了很多高階主題,如效能優化、外掛程式化結構的設計與架構、python 3的支援策略等。本書適合各個層次的python程式設計師閱讀和參考。
julien danjou 具有12年從業經驗的自由軟體黑客。擁有多個開源社群的不同身份:debian開發者、freedesktop貢獻者、gnu emacs提交者、awesome視窗管理器的建立者以及openstack ceilometer專案的技術主管。近年,他經常使用python,尤其是在參與了openstack(雲計算平台)的開發之後。在此期間,他有機會與許多傑出的黑客一起工作。
譯者簡介
王飛龍 openstack glance專案和zaqar專案的核心開發人員。曾任職於ibm,從事系統管理軟體和雲計算的開發工作,現居住在紐西蘭,專注於openstack開發。
第1章 專案開始 1
1.1 python版本 1
1.2 專案布局 2
1.3 版本編號 3
1.4 編碼風格與自動檢查 5
1.5 joshua harlow訪談 8
第2章 模組和庫 13
2.1 匯入系統 13
2.2 標準庫 17
2.3 外部庫 18
2.4 框架 20
2.5 doug hellmann訪談 21
第3章 管理api變化 27
第4章 時區陷阱 35
第5章 文件 39
5.1 sphinx和rest入門 40
5.2 sphinx模組 41
5.3 擴充套件sphinx 44
第6章 分發 47
6.1 簡史 47
6.2 使用pbr打包 49
6.3 wheel格式 51
6.4 包的安裝 52
6.5 和世界分享你的成果 53
6.6 nick coghlan訪談 58
6.7 入口點 59
6.7.1 視覺化的入口點 60
6.7.2 使用控制台指令碼 61
6.7.3 使用外掛程式和驅動程式 63
第7章 虛擬環境 67
第8章 單元測試 71
8.1 基礎知識 71
8.2 fixture 78
8.3 模擬(mocking) 79
8.4 場景測試 83
8.5 測試序列與並行 87
8.6 測試覆蓋 91
8.7 使用虛擬環境和tox 93
8.8 測試策略 97
8.9 robert collins訪談 98
第9章 方法和裝飾器 101
9.1 建立裝飾器 101
9.2 python中方法的執行機制 107
9.3 靜態方法 109
9.4 類方法 110
9.5 抽象方法 111
9.6 混合使用靜態方法、類方法和抽象方法 112
9.7 關於super的真相 115
第10章 函式式程式設計 119
10.1 生成器 120
10.2 列表推導 124
10.3 函式式函式的函式化 125
第11章 抽象語法樹 133
11.1 用抽象語法樹檢查來擴充套件flake8 136
11.2 hy 141
11.3 paul tagliamonte訪談 143
第12章 效能與優化 149
12.1 資料結構 149
12.2 效能分析 151
12.3 有序列表和二分查詢 156
12.4 namedtuple和slots 158
12.5 memoization 163
12.6 pypy 165
12.7 通過緩衝區協議實現零複製 166
12.8 victor stinner訪談 171
第13章 擴充套件與架構 175
13.1 多執行緒的注意事項 175
13.2 多程序與多執行緒 177
13.3 非同步和事件驅動架構 179
13.4 面向服務架構 181
第14章 rdbms和orm 185
14.1 用flask和postgresql流化資料 188
14.2 dimitri fontaine訪談 193
第15章 python 3支援策略 201
15.1 語言和標準庫 202
15.2 外部庫 205
15.3 使用six 205
第16章 少即是多 209
16.1 單分發器 209
16.2 上下文管理器 214
第17章 延伸閱讀 217
IT好書推薦
1.restful web services cookbook中文版 2.敏捷軟體測試 測試人員與敏捷團隊的實踐指南 3.構建可擴充套件的web站點 4.net 軟體測試自動化之道 5.高效能php應用開發 6.php與jquery開發例項 7.html 5開發精要與例項 8.html 5與css ...
IT程式設計好書推薦
列一下我所認為的,你面試微軟前必須要讀的十本書 code the hidden language of computer hardware and software 編碼的奧秘 computer system a programmer s perspective 深入理解計算機系統 windows ...
c 好書推薦
最近在學習新的開發語言,但是由於是新的開發語言,所以難免學的比較枯燥,所以又回歸舊的語言去找找成就感,下面分享一些最近看到的新舊書籍。c 程式設計 全面介紹了有關c 程式設計的知識,包括c 入門 基本資料型別與表示式 語句與結構化程式設計 陣列與字串 函式 指標 自定義資料型別 c 程式結構 類和物...