Python 3面向對象編程(第2版)

書籍書籍

著 者:(加)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

相關詞條

熱門詞條

聯絡我們