Python專案開發實戰

2020-08-12 13:32:52

內容簡介 · · · · · ·

通過實際專案增強你的Python技能

通過理論和實踐的結合以及實際可操作的指導,本書將爲你呈現真實世界中的Python程式設計。書中的實際教學聚焦於功能,覆蓋了基本的建立應用、構建和封裝庫。同時在有經驗的Python教員一直爲你提供有價值的見解的幫助下,你可以超越教學並開始建立專案。讀者應該熟悉核心Python語言的基礎語法,並準備增強自己的技能,這樣才能 纔能在這門頂級程式語言的實際應用中成爲專家。

主要內容

◆ 學習Python如何在真實世界中完成日常任務並提高業務效率

◆ 瞭解庫的工作原理、在何處獲取和使用它們

◆ 使用Virtualenv、Pip和更多工具建立開發環境

◆ 建立、封裝並與Python社羣中的其他使用者分享庫

◆ 使用分層次的方法建立專案,並使用庫在每次迭代中新增功能

◆ 在真實世界的中級專案中使用Python,以便獲得在更大開源專案中使用它的信心
作者簡介 · · · · · ·

Laura Cassell是PyLadies Atlanta的開創者。她在Big Nerd Ranch教授Python和JavaScript。她現在是New Relic公司Python組的一位工程師主管。

Alan Gauld是電信和客戶服務行業的一位企業架構設計師。從1998年他就開始使用Python。他是python-tutor郵寄清單中的版主和積極參與者。
目錄 · · · · · ·
目 錄
第1章 Python核心知識回顧 1
1.1 探索Python語言和直譯器 1
1.2 回顧Python數據型別 3
1.2.1 數值型別:整數和浮點數 4
1.2.2 布爾型別 5
1.2.3 None型別 6
1.2.4 容器型別 6
1.2.5 字串 7
1.2.6 位元組和位元組陣列 9
1.2.7 元組 10
1.2.8 列表 11
1.2.9 字典 12
1.2.10 集 13
1.3 使用Python控制結構 15
1.3.1 結構化你的程式 15
1.3.2 使用序列、塊和註釋 16
1.3.3 選擇一個執行路徑 17
1.3.4 迭代 18
1.3.5 例外處理 20
1.3.6 上下文管理 21
1.4 在Python中讀取和輸出數據 21
1.4.1 與使用者互動 21
1.4.2 使用文字檔案 23
1.5 擴充套件Python 24
1.5.1 定義並使用函數 24
1.5.2 定義並使用類和物件 28
1.6 建立和使用模組和包 32
1.6.1 使用和建立模組 33
1.6.2 使用和建立包 34
1.7 建立範例包 35
1.8 使用第三方包 42
1.9 本章小結 43
第2章 Python指令碼 47
2.1 存取操作系統 48
2.1.1 獲得關於使用者和他們的電腦的資訊 49
2.1.2 獲得當前進程資訊 52
2.1.3 管理其他程式 54
2.1.4 更加高效地管理子進程 57
2.1.5 獲取檔案(和裝置)的資訊 60
2.1.6 瀏覽和操縱檔案系統 62
2.1.7 探索目錄樹深度 68
2.2 使用日期和時間 71
2.2.1 使用time模組 71
2.2.2 datetime模組介紹 74
2.2.3 calendar模組介紹 75
2.3 處理常見的檔案格式 76
2.3.1 使用逗號分隔的數值 76
2.3.2 使用Config檔案 82
2.3.3 操作XML和HTML檔案 85
2.4 使用ctypes和pywin32存取原生API 93
2.4.1 存取操作系統庫 94
2.4.2 使用COM存取Windows應用 96
2.5 涉及多應用的自動化任務 97
2.5.1 使用Python 98
2.5.2 使用操作系統工具 98
2.5.3 使用數據檔案 98
2.5.4 使用第三方模組 98
2.5.5 通過命令列介面與子進程互動 99
2.5.6 爲基於伺服器的應用使用Web服務 99
2.5.7 使用一個原生程式碼API 99
2.5.8 使用GUI機器人學 99
2.6 本章小結 100
第3章 管理數據 103
3.1 使用Python儲存數據 104
3.1.1 使用DBM作爲持久化字典 104
3.1.2 使用Pickle存取物件 109
3.1.3 使用shelve存取物件 111
3.2 使用Python分析數據 116
3.2.1 使用Python的內建特性分析數據 116
3.2.2 使用itertools分析數據 119
3.2.3 使用itertools分析LendyDB數據 124
3.3 使用SQL管理數據 126
3.3.1 關係型數據庫的概念 126
3.3.2 結構化查詢語言 127
3.3.3 跨錶鏈接數據 134
3.3.4 多對多關係 140
3.4 從LendyDB遷移到SQL
數據庫 143
3.4.1 從Python存取SQL 143
3.4.2 建立LendyDB SQL數據庫 145
3.4.3 插入測試數據 146
3.4.4 建立一個LendyDB API 148
3.5 探索其他數據管理選擇 154
3.5.1 主從數據庫 154
3.5.2 NoSQL 155
3.5.3 雲端計算 155
3.5.4 使用RPy進行數據分析 156
3.6 本章小結 157
第4章 建立桌面應用 161
4.1 組織應用程式 162
4.2 建立命令列介面 163
4.2.1 建立數據層 163
4.2.2 建立核心邏輯層 165
4.2.3 建立用戶介面 169
4.3 使用cmd模組建立命令列介面 173
4.4 讀取命令列參數 175
4.5 用一些對話方塊讓命令列介面變得生動 176
4.6 使用Tkinter程式設計GUI 180
4.7 建立簡單的GUI 183
4.8 建立Tic-Tac-Toe GUI 186
4.8.1 勾勒一個UI設計 186
4.8.2 建立選單 187
4.8.3 建立Tic-Tac-Toe面板 188
4.8.4 將GUI連線到遊戲 189
4.9 擴充套件Tkinter 194
4.9.1 使用tix 194
4.9.2 使用ttk 198
4.10 再次回顧借出庫 199
4.11 探索其他Python GUI工具包 207
4.11.1 wxPython 207
4.11.2 PyQt 208
4.11.3 PyGTK 209
4.11.4 原生GUI:Cocoa和PyWin32 209
4.11.5 Dabo 210
4.12 儲存本地數據 210
4.12.1 儲存特定於應用的數據 211
4.12.2 儲存使用者選擇偏好 211
4.12.3 儲存應用狀態 212
4.12.4 記錄錯誤資訊 212
4.13 理解在地化 214
4.13.1 使用區域設定 214
4.13.2 在Python中使用Unicode 216
4.13.3 使用gettext 218
4.14 本章小結 220
第5章 Python在Web中的應用 223
5.1 Python在Web中的應用 224
5.1.1 Web應用的組成部分 225
5.1.2 用戶端-伺服器關係 226
5.1.3 中介軟體和MVC 226
5.1.4 HTTP方法和頭資訊 227
5.1.5 什麼是API 230
5.2 使用Python進行Web程式設計 234
5.3 有關Python和Web的更多知識 247
5.3.1 靜態網站生成器 247
5.3.2 Web框架 247
5.4 使用Python跨網工作 248
5.4.1 XML-RPC 248
5.4.2 通訊端伺服器 249
5.5 更多Python網路程式設計的樂趣 252
5.6 本章小結 253
第6章 Python在更大專案中的應用 255
6.1 使用doctest模組測試 256
6.2 使用unittest模組測試 261
6.3 Python中的測試驅動開發 265
6.4 偵錯Python程式碼 266
6.5 工作在更大的Python專案中 275
6.6 發佈Python包 279
6.7 本章小結 281
第7章 探索Python前沿技術 283
7.1 使用Python繪圖 283
7.1.1 使用turtle graphics 284
7.1.2 使用GUI Canvas物件 284
7.1.3 繪製數據 284
7.1.4 使用imghdr 285
7.1.5 Pillow簡介 285
7.1.6 試試ImageMagick 285
7.2 使用Python輔助科學 286
7.2.1 SciPy簡介 286
7.2.2 使用Python輔助生物科學 287
7.2.3 使用GIS 287
7.2.4 處理語言 287
7.2.5 綜述 288
7.3 使用Python開發遊戲 288
7.3.1 增強PyGame經驗 288
7.3.2 探索其他選項 289
7.4 進入電影領域 289
7.5 與其他語言整合 290
7.5.1 Jython 291
7.5.2 IronPython 291
7.5.3 Cython 292
7.5.4 Tcl/Tk 292
7.6 進入物理領域 293
7.6.1 serial選項介紹 293
7.6.2 RaspberryPi程式設計 294
7.6.3 與Arduino對話 294
7.6.4 探索其他選項 294
7.7 建立Python 295
7.7.1 修復bug 295
7.7.2 文件化 295
7.7.3 測試 295
7.7.4 新增特性 296
7.7.5 參加會議 296
7.8 本章小結 296
附錄A 練習答案 299
附錄B Python標準模組 315
附錄C 可用Python資源 323
百度網路硬碟