産品特色
編輯推薦
Python是一門很絕妙的編程語言,它快速、靈活且內置瞭豐富的標準庫,已經用於越來越多的不同行業。通常,大多數關於Python的書都會教讀者這門語言的基礎知識,但是掌握瞭這些基礎知識後,讀者在設計自己的應用程序和探索實踐時仍需要完全靠自己。本書則不同,它介紹瞭如何利用Python有效地解決問題,以及如何構建良好的Python應用程序。
從本書中讀者將學到什麼
●傑齣實踐:書中給齣瞭構建應用程序時可參考的方法和建議,幫助讀者充分利用Python的特性,構建不會過時的應用程序。如果讀者正在做一些東西,可以立刻應用本書中提及的技術去改進自己當前的工作。
●解決問題:書中介紹瞭測試、移植、擴展Python應用程序和庫等方麵的實際問題並提供瞭相應的解決方案,還介紹瞭一些非常好的小技巧,討論瞭一些長期維護軟件的策略。
●語言的內部機製:書中闡述瞭Python語言的一些內部機製,幫助讀者更好地理解如何開發更高效的代碼,並獲得對這門語言內部工作原理更深刻的洞察力。
●專傢訪談錄:書中包含多篇對不同領域專傢的訪談,讓讀者可以從開源社區和Python社區的知名黑客那裏獲得意見、建議和技巧。
內容簡介
這不是一本常規意義上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
Python高手之路 第3版 下載 mobi epub pdf txt 電子書