Python 3程式開發指南

《Python 3程式開發指南》是2011年2月人民郵電出版社出版者的圖書,作者是MarkSummerfield[美]。

內容簡介

Python是一種腳本語言,在各個領域得到了日益廣泛的套用。本書全面深入地對Python語言進行了講解。

《Python 3程式開發指南》本書首先講述了構成Python語言的8個關鍵要素,之後分章節對其進行了詳盡的闡述,包括數據類型、控制結構與函式、模組、檔案處理、調試、進程與執行緒、網路、資料庫、正則表達式、GUI程式設計等各個方面,並介紹了其他一些相關主題。全書內容以實例講解為主線,每章後面附有練習題,便於讀者更好地理解和掌握所講述的內容。

《Python 3程式開發指南》本書適合於作為Python語言教科書使用,對Python程式設計人員也有一定的參考價值。

作者簡介

Mark Summerfield,Qtrac公司的所有人,同時還是一位在Python、C++、Qt以及PyQt等領域卓有專長的獨立培訓專家、顧問、技術編輯與作者。Mark Summerfield撰寫的書籍包括《Rapid GUI Programming with Python》以及《Qt:The Definitive Guideto PyQt Programming》(Addison—Wesley,2008),並與Jasmin Blanchette共同編寫了《C++GUI Programming with Qt 4》(Addison—Wesley,2006)。作為Trolltech的文檔管理者,Mark創立了並負責編輯Trolltech的技術雜誌《Qt Quarterly》。

作者推薦

在本書中,一流的Python程式設計師Mark Summerfield展示了如何充分利用Python 3的功能與特性來編寫代碼。與以前的版本相比。Python 3功能更強大,使用更方便,語法更一致,表達能力更豐富。本書將編寫程式、使用標準或第三方Python 3庫、創建新的專用庫模組所必需的所有相關知識整合到了一起。
作為一名具有多年Python使用經驗的程式設計師,Summerfield在本書中為讀者深度分析與講解了從其他途徑無法獲取的Python3使用與開發技術。Summerfield從Python的“優美核心(beautiful heart)”(即編寫高健壯性、高性能程式的8個關鍵要素)開始進行講解,並以這些關鍵要素為基礎,介紹了有助於增強程式開發實用技能的新主題,每個主題都包含其概念和多個操作實例。 本書既可以作為Python編程指南,也可以作為Python語言參考手冊。

目錄

第1章 過程型程式設計快速入門 1

1.1 創建並運行Python程式 1

1.2 Python的關鍵要素 5

1.2.1 要素#1:數據類型 6

1.2.2 要素#2:對象引用 7

1.2.3 要素#3:組合數據類型 9

1.2.4 元素#4:邏輯操作符 12

1.2.5 要素#5:控制流語句 16

1.2.6 要素#6:算術操作符 20

1.2.7 要素#7:輸入/輸出 23

1.2.8 要素#8:函式的創建與調用 25

1.3 實例 27

1.3.1 bigdigits 28

1.3.2 generate_grid 30

1.4 總結 33

1.5 練習 35

第2章 數據類型 38

2.1 標識符與關鍵字 38

2.2 Integral類型 41

2.2.1 整數 41

2.2.2 布爾型 44

2.3 浮點類型 44

2.3.1 浮點數 45

2.3.2 複數 48

2.3.3 十進制數字 49

2.4 字元串 50

2.4.1 比較字元串 53

2.4.2 字元串分片與步距 54

2.4.3 字元串操作符與方法 56

2.4.4 使用str.format()方法進行字元串格式化 62

2.4.5 字元編碼 73

2.5 實例 75

2.5.1 quadratic 75

2.5.2 csv2html 78

2.6 總結 82

2.7 練習 84

第3章 組合數據類型 86

3.1 序列類型 86

3.1.1 元組 87

3.1.2 命名的元組 89

3.1.3 列表 91

3.1.4 列表內涵 96

3.2 集合類型 98

3.2.1 集合 98

3.2.2 集合內涵 102

3.2.3 固定集合 102

3.3 映射類型 103

3.3.1 字典 103

3.3.2 字典內涵 110

3.3.3 默認字典 111

3.4 組合數據類型的疊代與複製 113

3.4.1 疊代子、疊代操作與函式 113

3.4.2 組合類型的複製 121

3.5 實例 123

3.5.1 generate_usernames 123

3.5.2 statistics 126

3.6 總結 130

3.7 練習 131

第4章 控制結構與函式 133

4.1 控制結構 133

4.1.1 條件分支 133

4.1.2 循環 135

4.2 異常處理 136

4.2.1 捕獲與產生異常 136

4.2.2 自定義異常 141

4.3 自定義函式 144

4.3.1 名稱與Docstrings 148

4.3.2 參數與參數拆分 149

4.3.3 存取全局範圍的變數 152

4.3.4 Lambda函式 153

4.3.5 斷言 155

4.4 實例:make_html_skeleton 156

4.5 總結 162

4.6 練習 162

第5章 模組 165

5.1 模組與包 165

5.1.1 包 169

5.1.2 自定義模組 171

5.2 Python標準庫概覽 181

5.2.1 字元串處理 181

5.2.2 io.StringIO類 182

5.2.3 命令行程式設計 183

5.2.4 數學與數字 184

5.2.5 時間與日期 184

5.2.6 實例:calendar、datetime與time模組 185

5.2.7 算法與組合數據類型 185

5.2.8 檔案格式、編碼與數據持久性 187

5.2.9 檔案、目錄與進程處理 190

5.2.10 網路與Internet程式設計 192

5.2.11 XML 193

5.2.12 其他模組 195

5.3 總結 196

5.4 練習 198

第6章 面向對象程式設計 200

6.1 面向對象方法 200

6.2 自定義類 204

6.2.1 屬性與方法 205

6.2.2 繼承與多態 209

6.2.3 使用特性進行屬性存取控制 211

6.2.4 創建完全整合的數據類型 213

6.3 自定義組合類 225

6.3.1 創建聚集組合數據的類 225

6.3.2 使用聚集創建組合類 231

6.3.3 使用繼承創建組合類 237

6.4 總結 244

6.5 練習 245

第7章 檔案處理 247

7.1 二進制數據的讀寫 251

7.1.1 帶可選壓縮的Pickle 252

7.1.2 帶可選壓縮的原始二進制數據 256

7.2 文本檔案的寫入與分析 263

7.2.1 寫入文本 263

7.2.2 分析文本 265

7.2.3 使用正則表達式分析文本 268

7.3 寫入與分析XML檔案 270

7.3.1 元素樹 270

7.3.2 DOM 274

7.3.3 手動寫入XML 277

7.3.4 使用SAX分析XML 278

7.4 隨機存取二進制檔案 281

7.4.1 通用的BinaryRecordFile類 281

7.4.2 實例:BikeStock模組的類 289

7.5 總結 292

7.6 練習 293

第8章 高級程式設計技術 295

8.1 過程型程式設計進階 296

8.1.1 使用字典進行分支 296

8.1.2 生成器表達式與函式 297

8.1.3 動態代碼執行與動態導入 300

8.1.4 局部函式與遞歸函式 306

8.1.5 函式與方法修飾器 311

8.1.6 函式注釋 314

8.2 面向對象程式設計進階 317

8.2.1 控制屬性存取 317

8.2.2 函子 320

8.2.3 上下文管理器 322

8.2.4 描述符 325

8.2.5 類修飾器 330

8.2.6 抽象基類 333

8.2.7 多繼承 340

8.2.8 元類 342

8.3 函式型程式設計 346

8.3.1 偏函式 348

8.3.2 協程 349

8.4 實例:Valid 356

8.5 總結 359

8.6 練習 360

第9章 調試、測試與Profiling 361

9.1 調試 361

9.1.1 處理語法錯誤 362

9.1.2 處理運行時錯誤 363

9.1.3 科學的調試 367

9.2 單元測試 371

9.3 Profiling 377

9.4 小結 382

第10章 進程與執行緒 383

10.1 使用多進程模組 384

10.2 將工作分布到多個執行緒 388

10.2.1 實例:執行緒化的單詞尋找程式 389

10.2.2 實例:一個執行緒化的重複檔案發現程式 392

10.3 總結 396

10.4 練習 397

第11章 網路 399

11.1 創建TCP客戶端 400

11.2 創建TCP伺服器 406

11.3 總結 412

11.4 練習 412

第12章 資料庫程式設計 414

12.1 DBM資料庫 414

12.2 SQL資料庫 418

12.3 總結 425

12.4 練習 425

第13章 正則表達式 427

13.1 Python的正則表達式語言 428

13.1.1 字元與字元類 428

13.1.2 量詞 429

13.1.3 組與捕獲 431

13.1.4 斷言與標記 433

13.2 正則表達式模組 436

13.3 總結 444

13.4 練習 445

第14章 分析簡介 446

14.1 BNF語法與分析的術語 447

14.2 手動編寫分析器 451

14.2.1 簡單的鍵-值數據分析 451

14.2.2 播放列表數據分析 454

14.2.3 Blocks域特定語言的分析 456

14.3 使用PyParsing進行更Python化的分析 464

14.3.1 PyParsing快速介紹 465

14.3.2 簡單的鍵-值數據分析 468

14.3.3 播放列表數據分析 470

14.3.4 分析塊域特定語言 471

14.3.5 分析一階邏輯 476

14.4 使用PLY進行Lex/Yacc風格的分析 481

14.4.1 簡單的鍵-值數據分析 483

14.4.2 播放列表數據分析 485

14.4.3 分析塊域特定語言 487

14.4.4 分析一階邏輯 489

14.5 小結 493

14.6 練習 494

第15章 GUI程式設計介紹 496

15.1 對話框風格的程式 499

15.2 主視窗風格的程式 504

15.2.1 創建一個主視窗 504

15.2.2 創建自定義對話框 514

15.3 總結 517

15.4 練習 518

相關詞條

相關搜尋

熱門詞條

聯絡我們