Python高級編程 epub pdf mobi txt 電子書 下載 2024
發表於2024-11-22
Python高級編程 epub pdf mobi txt 電子書 下載 2024
學習編寫更齣色的代碼,讓工作流程更加平滑
Python是一門強大且快速增長的動態編程語言。雖然它提供瞭很多用於編寫高級、簡潔、可維護代碼的工具,但是對於這些技術卻一直沒有一個清晰的解釋。《Python高級編程》為介紹所有Python功能提供瞭一個入口。每個概念的完整闡述、關於應用程序的討論、動手指南都將教會你設計更好的架構,以及編寫使得應用程序更加健壯與高效的代碼。
如果你已經熟悉Python,並期望使用它提供的所有功能,那本書正是為你準備的。
主要內容
◆ 涵蓋所有語言的功能,包括函數、如何應用裝飾器、上下文管理器與生成器
◆ 介紹Python的類與對象模型、元類、類工廠以及抽象基類
◆ 驗證如何操縱Unicode字符串,以及Python2與Python3字
符串的區彆
◆ 提供Python2與Python3差異的深入講解,並闡述如何編寫跨版本的代碼
◆ 探討單元測試、命令行界麵工具以及新的異步編程庫
Luke Sneeringer,是一位經驗豐富的Python開發人員,他曾經為諸如FeedMagnet、May Designs以及Ansible在內的多傢公司設計、架構和創建多個Python應用程序。他經常作為演講嘉賓齣席Python會議。
第Ⅰ部分 函 數
第1章 裝飾器 3
1.1 理解裝飾器 3
1.2 裝飾器語法 4
1.3 在何處使用裝飾器 6
1.4 編寫裝飾器的理由 6
1.5 編寫裝飾器的時機 7
1.5.1 附加功能 7
1.5.2 數據的清理或添加 7
1.5.3 函數注冊 7
1.6 編寫裝飾器 7
1.6.1 初始示例:函數注冊錶 8
1.6.2 執行時封裝代碼 9
1.6.3 裝飾器參數 16
1.7 裝飾類 20
1.8 類型轉換 23
1.9 小結 25
第2章 上下文管理器 27
2.1 上下文管理器的定義 27
2.2 上下文管理器的語法 28
2.2.1 with語句 28
2.2.2 enter和exit方法 28
2.2.3 異常處理 29
2.3 何時應該編寫上下文管理器 30
2.3.1 資源清理 30
2.3.2 避免重復 31
2.4 更簡單的語法 38
2.5 小結 39
第3章 生成器 41
3.1 理解生成器 41
3.2 理解生成器語法 41
3.2.1 next函數 43
3.2.2 StopIteration異常 45
3.3 生成器之間的交互 47
3.4 迭代對象與迭代器 49
3.5 標準庫中的生成器 50
3.5.1 range 50
3.5.2 dict.items及其傢族 50
3.5.3 zip 51
3.5.4 map 52
3.5.5 文件對象 52
3.6 何時編寫生成器 53
3.6.1 分塊訪問數據 53
3.6.2 分塊計算數據 54
3.7 何時使用生成器單例模式 54
3.8 生成器內部的生成器 55
3.9 小結 56
第Ⅱ部分 類
第4章 魔術方法 59
4.1 魔術方法語法 59
4.2 可用的魔術方法 60
4.2.1 創建與銷毀 61
4.2.2 類型轉換 63
4.2.3 比較 65
4.3 其他魔術方法 75
4.4 小結 76
第5章 元類 77
5.1 類與對象 77
5.1.1 直接使用type 78
5.1.2 type鏈 80
5.1.3 type的角色 80
5.2 編寫元類 81
5.2.1 __new__方法 81
5.2.2 __new__與__init__方法 81
5.2.3 元類示例 82
5.2.4 元類繼承 82
5.3 使用元類 84
5.3.1 Python 3 85
5.3.2 Python 2 85
5.3.3 需要跨版本執行的代碼怎麼辦 85
5.3.4 跨版本兼容性在何時重要 86
5.4 何時使用元類 87
5.4.1 說明性類聲明 87
5.4.2 類驗證 88
5.4.3 非繼承屬性 90
5.5 顯式選擇的問題 91
5.6 meta-coding 92
5.7 小結 94
第6章 類工廠 95
6.1 類型迴顧 95
6.2 理解類工廠函數 96
6.3 決定何時應該編寫類工廠 98
6.3.1 運行時屬性 98
6.3.2 避免類屬性一緻性問題 102
6.3.3 關於單例模式問題的解答 105
6.4 小結 107
第7章 抽象基類 109
7.1 使用抽象基類 109
7.2 聲明虛擬子類 110
7.2.1 聲明虛擬子類的原因 111
7.2.2 使用register作為裝飾器 113
7.2.3 __subclasshook__ 113
7.3 聲明協議 115
7.3.1 其他現有的方法 115
7.3.2 抽象基類的價值 118
7.3.3 抽象屬性 120
7.3.4 抽象類或靜態方法 121
7.4 內置抽象基類 122
7.4.1 隻包含一個方法的抽象基類 122
7.4.2 可供集閤使用的抽象基類 123
7.4.3 額外的抽象基類 124
7.5 小結 124
第Ⅲ部分 數 據
第8章 字符串與Unicode 127
8.1 文本字符串與字節字符串 127
8.2 包含非ASCII字符的字符串 132
8.2.1 觀察區彆 132
8.2.2 Unicode是ASCII的超集 133
8.3 其他編碼 133
8.4 讀取文件 135
8.4.1 Python 3 135
8.4.2 Python 2 137
8.4.3 讀取其他源 137
8.4.4 指定Python文件編碼 137
8.5 嚴格編碼 139
8.5.1 不觸發錯誤 139
8.5.2 注冊錯誤處理程序 140
8.6 小結 141
第9章 正則錶達式 143
9.1 使用正則錶達式的原因 143
9.2 Python中的正則錶達式 144
9.2.1 原始字符串 144
9.2.2 match對象 145
9.2.3 找到多個匹配 145
9.3 基本正則錶達式 146
9.3.1 字符組 146
9.3.2 可選字符 150
9.3.3 重復 151
9.4 分組 152
9.4.1 零分組 154
9.4.2 命名分組 155
9.4.3 引用已經存在的分組 156
9.5 先行斷言 157
9.6 標記 158
9.6.1 不區分大小寫 158
9.6.2 ASCII 與 Unicode 159
9.6.3 點匹配換行符 159
9.6.4 多行模式 159
9.6.5 詳細模式 160
9.6.6 調試模式 160
9.6.7 使用多個標記 160
9.6.8 內聯標記 160
9.7 替換 161
9.8 已編譯的正則錶達式 162
9.9 小結 163
第Ⅳ部分 其他高級主題
第10章 Python 2與Python 3 167
10.1 跨版本兼容性策略 167
10.1.1 __future__模塊 168
10.1.2 2to3 168
10.1.3 限製 170
10.1.4 six 170
10.2 Python 3中的變更 171
10.2.1 字符串與Unicode 171
10.2.2 Print函數 171
10.2.3 除法 172
10.2.4 絕對與相對導入 173
10.2.5 “老式風格”類的移除 174
10.2.6 元類語法 175
10.2.7 異常語法 176
10.2.8 字典方法 178
10.2.9 函數方法 179
10.2.10 迭代器 179
10.3 標準庫重定位 180
10.3.1 閤並“高效”模塊 180
10.3.2 URL模塊 181
10.3.3 重命名 181
10.3.4 其他包重組 181
10.4 版本檢測 182
10.5 小結 182
第11章 單元測試 183
11.1 測試的連續性 183
11.1.1 副本生態係統 183
11.1.2 隔離的環境 184
11.1.3 優點與缺點 185
11.2 測試代碼 185
11.2.1 代碼布局 186
11.2.2 測試函數 186
11.2.3 assert語句 188
11.3 單元測試框架 188
11.3.1 執行單元測試 189
11.3.2 載入測試 192
11.4 模擬 193
11.4.1 模擬函數調用 193
11.4.2 斷言被模擬的調用 195
11.4.3 檢查模擬 197
11.4.4 檢查調用 199
11.5 其他測試工具 199
11.6 小結 201
第12章 CLI工具 203
12.1 optparse 203
12.1.1 一個簡單的參數 203
12.1.2 選項 205
12.1.3 使用optparse的原因 212
12.2 argparse 213
12.2.1 本質 213
12.2.2 參數與選項 214
12.2.3 使用argparse的理由 220
12.3 小結 221
第13章 asyncio模塊 223
13.1 事件循環 223
13.2 協程 227
13.3 Future對象與Task對象 229
13.3.1 Future對象 229
13.3.2 Task對象 230
13.4 迴調 231
13.4.1 不保證成功 232
13.4.2 幕後 232
13.4.3 帶參數的迴調 233
13.5 任務聚閤 233
13.5.1 聚集任務 234
13.5.2 等待任務 235
13.6 隊列 238
13.7 服務器 240
13.8 小結 242
第14章 代碼風格 243
14.1 原則 243
14.1.1 假定你的代碼需要維護 243
14.1.2 保持一緻性 244
14.1.3 考慮對象在程序中的存在方式,
尤其是那些帶有數據的
對象 244
14.1.4 不要做重復工作 244
14.1.5 讓注釋講故事 245
14.1.6 奧卡姆剃刀原則 245
14.2 標準 245
14.2.1 簡潔的規則 246
14.2.2 文檔字符串 246
14.2.3 空行 246
14.2.4 導入 247
14.2.5 變量 247
14.2.6 注釋 248
14.2.7 行長度 248
14.3 小結 249
最近,Python已經成為越來越多開發人員的首選語言。Python的使用者遍布全球,他們將該語言用於各種目的。隨著Python的廣泛應用,越來越多的開發人員都在花時間編寫Python。
Python穩定增長的原因在於它是一門強大的語言,但很多經驗豐富的Python開發人員也僅僅瞭解該語言所能完成工作的冰山一角。
本書讀者對象
本書的目標讀者是那些已經使用Python工作並熟悉它,而且希望進一步學習的開發人員。本書假定讀者已經完成過Python開發過程中的大多數基本任務(例如使用過Python交互式終端)。
如果你是希望尋求由中級到高級的Python語言功能的讀者,就應該從頭至尾閱讀本書。
你也可能曾經使用過更高級的語言功能,或可能需要維護使用這些功能的代碼,那麼可以考慮將本書作為參考手冊;或者處理具體實現代碼時可以將本書作為索引,從而充實對高級功能的理解。
本書內容
本書涵蓋所有*新版本的Python(包括Python 2與Python 3)。在編寫本書時,*新的可用版本是Python 3.4,Python 3.5還是beta版。本書主要涵蓋瞭Python 2.6/2.7/3.3/3.4。本書提供的大多數代碼既能在Python 2上運行,也能在Python 3上運行,Python 2代碼會特彆標注齣來。
此外,本書還占用一整章的篇幅深入講解Python 2與Python 3的區彆,其中提供瞭編寫跨版本運行代碼的建議,以及如何將代碼移植到Python 3。
本書主要集中在兩個領域。第一個領域是語言功能本身。例如,本書用幾章闡述關於Python類與對象模型工作機製的多個方麵。第二個領域是作為標準庫的一部分提供的模塊。例如,本書用3章闡述瞭3個模塊:asyncio、unittest與argparse。
本書結構
本書可以分為4個部分:
本書的前3章介紹Python中的函數。前兩章分彆闡述裝飾器與上下文管理器,它們是用於修改或為增加功能封裝函數的可重用方式。第3章則是關於生成器的內容,生成器是一種設計函數的方法,它可以使函數一次返迴一個值,而不是提前創建一整列值並將其一次性返迴。
第Ⅱ部分包含第4~7章,介紹Python類與語言對象模型。第4章闡述魔術方法,第5章和第6章分彆闡述元類和類工廠,這是以強大方式構建類的兩種方式。*後,第7章闡述抽象基類,解釋abc模塊,以及如何讓類來聲明實現的模式。
第Ⅲ部分包含第8章和第9章,介紹字符串與數據。第8章闡述如何在Python中使用Unicode字符串(與使用字節字符串相比較),詳細介紹瞭在Python 2與Python 3中字符串的區彆。第9章則闡述正則錶達式,包含瞭Python的re模塊,以及如何編寫正則錶達式。
*後,第Ⅳ部分包含無法融入前三部分的所有內容。第10章深入介紹Python 2與Python 3的區彆,以及如何編寫能夠兼容這兩個平颱的代碼。第11章介紹單元測試,主要關注unittest模塊。關於命令行界麵(CLI)工具的第12章介紹有關optparse與argparse的內容,這兩個Python模塊用於編寫命令行工具。第13章介紹asyncio,它是一個新的異步編程庫,在Python 3.4中被引入到Python標準庫。第14章介紹代碼風格。
使用本書的前提條件
首先,需要一颱運行Python的計算機。
雖然在大多數章節中沒有區彆,但本書在方法上稍微有點以Linux為中心(在第12章區彆*大)。本書的示例在Linux環境中運行,如果在Windows環境中運行,輸齣結果可能會有略微不同。
勘誤錶
盡管我們已經盡瞭各種努力來保證書中或代碼中不齣現錯誤,但是人無完人,錯誤在所難免。如果發現本書中的錯誤,如拼寫錯誤或代碼錯誤,請告訴我們,我們將不勝感激。通過發送勘誤錶,可以讓其他讀者避免幾個小時的睏惑,同時可以幫助我們提供更高質量的信息。
要在網站上找到本書的勘誤錶,請訪問http://www.wrox.com網頁,點擊勘誤錶鏈接。在這個網頁上,您能看到本書提供的和Wrox編輯發布的所有勘誤錶。
如果在本書勘誤頁麵上找不到提供的勘誤錶,請訪問www.wrox.com/contact/ techsupport.shtml網頁,填寫那個網頁上的錶格並且發給我們您發現的錯誤。我們將核對反饋信息,如果正確,我們將在本書的勘誤錶頁麵張貼該錯誤消息,並在本書後續版本中修正這一問題。
P2P.wrox.com
要與作者和同行討論,請加入p2p.wrox.com網站上的P2P論壇。這個論壇是一個基於Web的係統,可以張貼與Wrox圖書相關的消息和相關技術,與其他讀者和技術用戶交流心得。該論壇提供電子郵件訂閱功能,當論壇上有新貼發布時,可以給你傳送你選擇的感興趣的論題。Wrox作者、編輯和其他業界專傢和讀者都會到這個論壇上來探討問題。
在http://p2p.wrox.com上,你將發現許多不同的論壇,它們不僅有助於你閱讀本書,而且還有助於你開發自己的應用程序。要加入論壇,可以遵循下麵的步驟:
(1) 進入p2p.wrox.com,單擊Register鏈接。
(2) 閱讀使用協議,並單擊Agree按鈕。
(3) 填寫加入該論壇所需要的信息和自己希望提供的其他可選信息,單擊Submit按鈕。
(4) 你會收到一封電子郵件,其中的信息描述瞭如何驗證賬戶,完成加入過程。
加入論壇後,可以發布新消息和迴復其他用戶發布的信息。可以隨時閱讀這個網站上的信息。如果想收到特定論壇發來的新消息,單擊論壇列錶中該論壇名旁邊的Subscribe to this Forum圖標。
要想更多瞭解如何使用Wrox P2P的信息,一定要閱讀FAQ,瞭解有關論壇軟件的工作情況,以及P2P和Wrox圖書的許多常見問題的解答。要閱讀FAQ,隻需要在任意P2P頁麵上單擊FAQ鏈接即可。
Python高級編程 epub pdf mobi txt 電子書 下載 2024
Python高級編程 下載 epub mobi pdf txt 電子書Python高級編程 mobi pdf epub txt 電子書 下載 2024
Python高級編程 epub pdf mobi txt 電子書 下載不錯不錯不錯不錯不錯不錯不錯不錯不錯
評分很好,正在看
評分好書
評分ai時代 人工智能 據說還不錯 先看看
評分不錯的商品,量足價優,是個實惠的商品,挺好!
評分好
評分圖書內容還不錯,講解還算可以,就是樣例不是太喜歡
評分不錯不錯不錯不錯不錯不錯不錯不錯不錯不錯不錯不錯
評分書很好看,讀完希望有用吧。
Python高級編程 epub pdf mobi txt 電子書 下載 2024