書籍書籍
著 者:(加)Dusty Phillips(達斯帝·菲利普斯)
作 譯 者:孫雨生
出版時間:2018-06 千 字 數:549
版 次:01-01 頁 數:440
開 本:16開
裝 幀:
I S B N :9787121341366
換 版:
所屬分類:科技 >> 計算機 >> 程式語言
內容簡介
本書主要介紹如何使用Python 3進行面向對象編程。1~4章介紹面向對象這一編程範式的基本準則,以及Python是如何運用這些準則實現面向對象編程的;第5~8章,介紹如何利用Python中的內置函式快速、簡單地實現面向對象編程;第9~11章介紹了許多面向對象編程中常用的設計模式,以及如何使用符合 Python 語言習慣的方式來實現這些設計模式;最後第12、13章介紹了Python 3中並發編程相關的主題。本書中每一章都會包含一節案例學習的內容,通過一個實踐相關的案例將本章介紹的主要內容以及前面章節中介紹過的內容串聯起來。除此之外,每一章最後的練習旨在指導你利用本章學習到的內容,使用面向對象編程改善以往項目中的代碼,並進一步掌握如何在合適的時機使用Python 3進行面向對象編程。
目錄
第1章 面向對象設計 1
面向對象 1
對象和類 3
指定屬性和行為 5
數據描述對象 5
行為就是動作 7
隱藏細節並創建公共接口 8
組合 11
繼承 13
繼承提供抽象 15
多重繼承 16
案例學習 16
練習 24
總結 24
第2章 Python對象 26
創建Python類 26
添加屬性 28
讓它做點什麼 29
初始化對象 32
自我解釋 34
模組和包 36
組織模組 38
組織模組內容 41
誰可以訪問我的數據 44
第三方庫 46
案例學習 48
練習 56
總結 57
第3章 對象相似時 58
基本的繼承 58
擴展內置對象 60
重寫和super 62
多重繼承 63
鑽石型繼承問題 66
不同集合的參數 71
多態 74
抽象基類 77
使用抽象基類 77
創建抽象基類 78
魔術揭秘 80
案例學習 82
練習 95
總結 95
第4章 異常捕獲 96
拋出異常 96
拋出一個異常 98
異常的作用 99
處理異常 101
異常的層級 106
定義我們自己的異常 108
案例學習 112
練習 122
總結 123
第5章 何時使用面向對象編程 124
將對象看作對象 124
通過屬性向類數據添加行為 128
屬性的細節 131
裝飾器——另一種創建屬性的方法 133
決定何時使用屬性 134
管理員對象 136
移除重複代碼 139
實踐 141
案例學習 144
練習 152
總結 153
第6章 Python數據結構 154
空對象 154
元組和命名元組 155
命名元組 157
字典 159
字典用例 162
使用defaultdict 163
列表 166
列表排序 168
集合 171
擴展內置類型 175
佇列 180
FIFO佇列 181
LIFO佇列 183
優先權佇列 184
案例學習 186
練習 193
總結 194
第7章 Python面向對象的捷徑 195
Python內置函式 195
len()函式 195
反轉函式 196
枚舉 198
檔案I/O 199
放在上下文管理器中 201
方法重載的另一種方式 203
默認參數 204
變數參數列表 206
參數解包 209
函式也是對象 210
將函式作為屬性 215
可調用對象 216
案例學習 217
練習 224
總結 225
第8章 字元串與序列化 226
字元串 226
字元串操作 227
字元串格式化 229
字元串是Unicode 236
可變位元組字元串 240
正則表達式 241
匹配模式 242
從正則表達式中獲取信息 246
序列化對象 249
自定義序列化 251
序列化Web對象 253
案例學習 256
練習 262
總結 263
第9章 疊代器模式 265
設計模式簡介 265
疊代器 266
疊代器協定 266
推導 269
列表推導 269
集合與字典推導 271
生成器表達式 272
生成器 274
從另一個可疊代對象中產生 277
協程 279
回到日誌解析 282
關閉協程並拋出異常 285
協程、生成器與函式的關係 285
案例學習 286
練習 293
總結 294
第10章 Python設計模式I 295
裝飾器模式 295
裝飾器的例子 296
Python中的裝飾器 299
觀察者模式 301
觀察者模式的例子 302
策略模式 304
策略模式的例子 305
Python中的策略 307
狀態模式 307
狀態模式的例子 308
狀態與策略 314
狀態轉換作為協程 314
單例模式 315
單例模式的實現 315
模板模式 319
模板模式的例子 319
練習 323
總結 324
第11章 Python設計模式II 325
適配器模式 325
門面模式 328
享元模式 331
命令模式 335
抽象工廠模式 340
複合模式 344
練習 349
總結 350
第12章 測試面向對象程式 351
為什麼要測試 351
測試驅動開發 353
單元測試 354
斷言方法 355
減少模板代碼並進行清理 357
組織和運行測試 359
忽略失敗的測試 359
用py.test進行測試 361
一種完成設定和清理的方式 363
一種完全不同的設定變數的方式 366
在py.test中跳過測試 370
模擬昂貴的對象 371
多少測試才足夠 375
案例學習 378
實現它 379
練習 384
總結 385
第13章 並發 386
執行緒 386
執行緒的諸多問題 390
執行緒的超常開支 391
多進程 392
多進程池 394
佇列 396
多進程的問題 398
Future對象 398
AsyncIO 401
AsyncIO實踐 402
讀取AsyncIO中的Future對象 403
在網路編程中使用AsyncIO 404
用executor封裝阻塞代碼 407
流 409
案例學習 410
練習 416
總結 417