|
-- 會員 / 註冊 --
|
|
|
|
Python 3面向對象編程 ( 簡體 字) |
作者:肖鵬,常賀,石琳 | 類別:1. -> 程式設計 -> Python |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 41847 詢問書籍請說出此書號!【缺書】 NT售價: 395 元 |
出版日:6/1/2015 |
頁數:380 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121262463 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:這本書將向你介紹面向對象范型的術語,通過一步步的例子,專注于面向對象的設計。它將帶你從簡單的繼承開始,這在面向對象程序員工具箱里是最有用的工具之一,到最復雜之一的合作繼承。你將能提高、處理、定義以及操作異常。 你將能夠把Python面向對象和不是那么面向對象的方面結合起來。通過研究高級的設計模式,你將能夠創建可維護的應用程序。你將學習Python復雜的字符串和文件操作以及如何區分二進制和文本數據。將會介紹給你不止一個,而是兩個非常強大的自動化測試系統。你將會理解單元測試的喜悅以及創建單元測試是多么簡單。你甚至會學習像數據庫連接和GUI工具包這樣的高級庫,以及它們是如何應用面向對象原則的。 這本書講了什么 第1章,面向對象設計覆蓋了重要的面向對象概念。它主要處理關于抽象、類、封裝和繼承。在建模我們的類和對象時,我們也簡要地看了下UML。 第2章,Python對象討論了類和對象,以及它們是如何在Python中使用的。我們將學習Python對象中的屬性和行為,以及把類組織成包和模塊。最后我們將看到如何保護我們的數據。 第3章,當對象是相似的讓我們從更深層次的視角來看繼承。它覆蓋了多重繼承以及向我們展示了如何從內置來繼承。這一章還包括了多態以及鴨子類型。 第4章,異常處理講解異常和異常處理。我們將學習如何創建自己的異常。它還涉及了把異常用于程序流程控制。 第5章,何時使用面向對象編程主要處理對象,什么時候創建和使用它們。我們將看到如何使用屬性來包裝數據,以及限制數據訪問。這一章也會討論DRY原則以及如何不重復代碼。 第6章,Python數據結構覆蓋了數據結構的面向對象特征。這一章主要處理元組、字典、列表和集合。我們也會看一看如何擴展內置對象。 第7章,Python里面向對象的快捷方式顧名思義,在Python中如何省時。我們將看到很多有用的內置函數,然后繼續在列表、集合和字典中使用解析。我們將學習關于生成器、方法重載,以及默認參數的內容。我們還會看到如何把函數當成對象來用。 第8章,Python設計模式1第一次向我們介紹了Python設計模式。然后我們將會看到裝飾器模式、觀察者模式、策略模式、狀態模式、單例模式以及模板模式。這些模式將會和在Python中實現的合適的例子和程序一起討論。 第9章,Python設計模式2講解上一章剩下的內容。我們將通過Python中的例子看到適配器模式、外觀模式、享元模式、命令模式、抽象模式以及組合模式。 第10章,文件和字符串學習字符串和字符串格式化。也會討論字節和字節數組。我們也將會學習文件以及如何從文件讀取數據和往文件里寫數據。我們將學習存儲和pickle對象,最后本章會討論序列化對象。 第11章,測試面向對象的程序以使用測試和為什么測試如此重要開頭。重點是測試驅動開發。我們將看到如何使用unittest模塊,以及py.test自動化測試套件。最后我們將使用coverage.py來看代碼的測試覆蓋率。 第12章,常用Python 3庫 集中介紹庫以及它們在程序構建中的利用率。我們將使用SQLAlchemy來構建數據庫,使用TkInter和PyQt開發用戶界面。這一章會繼續討論如何構建XML文檔以及我們應該如何使用ElementTree和lxml。最后我們將使用CherryPy和Jinja來創建一個Web應用。 對于這本書你需要什么 為了編譯運行在本書中提到的例子,你需要下面的軟件: Python 3.0或者更高的版本 py.test coverage.py SQLAlchemy pygame PyQt CherryPy lxml 誰需要這本書 如果你是面向對象編程技術的新手,或者你有基本的Python技巧,并且希望深入他學習如何以及什么時候在Python中正確他應用面向對象編程,這本書適合你。 如果你是一個其他語言的面向對象編程人員,你也會發現這本書是對Python的一個有用的介紹,因為它使用了一些你已經熟悉的術語。 那些尋求邁入Python 3新世界的Python 2程序員也將會發現這本書的好處,但是其實你不需要了解Python 2。 慣例 在這本書中,你將發現一些用于區分不同種類信息的文本風格。這里有一些這些風格的例子,并且介紹了它們的意義。 文本形式的代碼會按照下面顯示:“我們可以通過使用import語句來訪問Python的其他模塊”。 一個代碼塊會像下面這樣顯示:
class Friend(Contact): def __init__(self, name, email, phone): self.name = name self.email = email self.phone = phone
當我們希望你對一個代碼片段里特殊的部分引起注意的時候,相應的行或者元素會設置成粗體:
class Friend(Contact): def __init__(self, name, email, phone): self.name = name self.email = email self.phone = phone
任何一個命令行的輸入或輸出都是下面這樣的形式:
>>> e = EmailableContact("John Smith", "jsmith@example.net") >>> Contact.all_contacts
新的術語或者重要的詞將會顯示成黑體。例如你在屏幕、菜單和對話框中看到的詞,會以文本的形式這樣顯示:“你每一次點擊Roll!按鈕的時候,我們會通過這個特性來給標簽更新一個新的隨機值”。 警告或者重要的筆記將會在一個框里這么顯示
小竅門和訣竅會這么顯示 讀者反饋 我們隨時歡迎來自讀者的反饋信息。請告訴我們你對本書的評價——你喜歡或者不喜歡的地方。讀者的反饋對于我們是非常重要的,這會幫助我們為你創作更有價值的作品。 請將你的反饋意見通過郵件feedback@packtpub.com發送給我們,并在郵件的主題中標明相關圖書的名稱。 如果你需要一本書并且希望我們的出版相關圖書,請在www.packtpub.com用 SUGGEST A TITLE表格發一張紙條給我們或通過電子郵件 suggest@packtpub.com告訴我們。 如果你具有關于某個主題的專業知識,并且有興趣參與圖書的編寫,請查看我們的作者指南,網址:www.packtpub.com/authors。 客戶支持 你現在是擁有Packt書的尊貴主人,購買本書我們會從以下方面幫助到你。 下載本書的示例代碼 你可以通過你在http://www.packtpub.com的賬號來下載你購買圖書的所有示例代碼文件。如果你從其他地方購買的本書,你可以訪問http://www.packtpub.com/support 并且注冊我們會直接通過電子發郵件給你的文件。 勘誤 雖然我們已盡力確保我們內容的準確性,但是錯誤還是會發生。如果你發現本書的一個錯誤——文字或者代碼錯誤——如果你能報告給我們,我們將非常感激。通過這樣做,你可以把其他讀者從挫敗中拯救出來并且幫助我們改善這本書的后續版本。如果你發現任何錯誤,請通過訪問http://packtpub.com/support 來報告它們,選擇你的書,點擊let us know鏈接,并且輸入錯誤的細節。一旦你的勘誤被核實,你提交的將會被接受并且將會把勘誤上傳到我們的網站,或者在添加到一個已有的勘誤列表的相應主題部分。從http://www.packtpub.com/support 選擇我們的信息標題將看到任何一個存在的勘誤。 盜版 互聯網上著作權侵害是在所有媒體中持續的問題。在Packt,我們會非常重視地對版權和許可證的保護。如果你在互聯網上發現了對于我們著作的任何形式的任何非法復制,請立即告訴我們地址或者網站名字,以便我們能進行補救措施。 請通過copyright@packtpub.com聯系我們,可附帶一個可疑鏈接的盜版材料。 我們非常感謝你在保護我們的作者以及我們能帶給你有價值內容的能力方面給予我們的幫助。 |
內容簡介:Python 是一種面向對象的解釋型語言,面向對象是其非常重要的特性。本書通過Python 的數據結構、語法、設計模式,從簡單到復雜,從初級到高級,一步步通過例子來展示了Python 中面向對象的概念和原則。本書不是Python 的入門書籍,適合具有Python 基礎經驗的開發人員閱讀。如果你擁有其他面向對象語言的經驗,你會更容易理解本書的內容。 |
目錄:第1章 面向對象設計 1 面向對象 1 對象和類 3 指定屬性和行為 5 數據描述對象 5 行為是動作 7 隱藏細節并且創建公共接口 8 組合和繼承 10 繼承 12 案例學習 15 練習 22 總結 23
第2章 Python對象 24 創建Python類 24 添加屬性 26 讓類實際做一些事情 26 對象的初始化 29 解釋你自己 32 模塊和包 34 組織模塊 36 誰可以訪問我的數據 41 案例學習 43 練習 52 總結 53
第3章 當對象是相似的 54 基本繼承 54 擴展內置類 56 重寫和Super 58 多重繼承 59 鉆石的問題 61 不同的參數集合 66 多態 68 案例學習 71 練習 84 總結 85
第4章 異常處理 86 拋出異常 86 拋出一個異常 88 當一個異常產生時發生了什么 90 異常處理 91 異常層級 97 定義自己的異常 98 異常不是例外 99 案例學習 102 練習 112 總結 113
第5章 何時使用面向對象編程 114 把對象當作“對象”來對待 114 使用property為類中的數據添加行為 118 property是怎樣工作的 121 裝飾器:創建property的另一種方法 123 何時該使用property屬性 125 管理對象 127 移除重復的代碼 130 實踐一下 131 或者我們可以使用組合 135 案例學習 137 練習 145 總結 146
第6章 Python數據結構 147 空對象 147 元組和命名元組 148 命名元組 150 字典 152 何時應該使用字典 155 使用defaultdict 156 列表 157 對列表排序 160 集合 162 擴展內置數據類型 166 案例學習 171 練習 178 總結 178
第7章 Python里面向對象的快捷方式 180 Python內置函數 180 Len 180 Reversed 181 Enumerate 182 Zip 183 其他函數 185 解析 186 列表解析 186 集合和字典解析 188 生成器表達式 189 生成器 191 方法重載的另一種選擇 194 默認參數 195 可變參數列表 197 參數拆分 201 函數也是對象 202 使用函數作為屬性 206 可調用對象 207 案例學習 208 練習 212 總結 213
第8章 設計模式1 214 設計模式 214 裝飾器模式 215 裝飾器實例 216 Python中的裝飾器模式 219 觀察者模式 221 觀察者實例 222 策略模式 224 策略實例 225 Python中的策略模式 226 狀態模式 227 狀態實例 227 狀態和策略模式的對比 233 單件模式 234 單件的實現方式 234 模塊變量能夠模仿單件 235 模板模式 238 模板實例 238 練習 242 總結 243
第9章 設計模式2 244 適配器模式 244 外觀模式 247 享元模式 250 命令模式 254 抽象工廠模式 259 組合模式 263 練習 267 總結 268
第10章 文件和字符串 270 字符串 270 字符串操作 271 字符串格式化 274 字符串是Unicode的 281 可變字節字符串 285 文件I/O 286 把它放在上下文 287 偽造文件 289 存儲對象 290 定制pickle 292 序列化Web對象 294 練習 297 總結 299
第11章 測試面向對象的程序 300 為什么要測試 300 測試驅動開發 302 單元測試 303 斷言方法 304 減少樣板和清理 306 組織和運行測試 308 忽略失敗的測試 309 用py.test測試 311 一個處理安裝和清理的方法 313 一種完全不同的變量設置方式 316 用py.test測試跳過 320 py.test的額外部分 321 多少測試才算夠 323 案例學習 326 實現它 327 練習 332 總結 333
第12章 常用Python 3庫 334 數據庫訪問 335 引入SQLAlchemy 336 漂亮的用戶界面 340 TkInter 341 PyQt 345 選擇一個GUI工具包 347 XML 348 ElementTree 349 Lxml 353 CherryPy 354 一個完整的Web堆棧 357 Jinja模板 359 CherryPy博客Web應用程序 361 練習 363 總結 364 |
序: |
|