Python 3·高級教程(第3版)

Python 3·高級教程(第3版)

《Python 3·高級教程(第3版)》是清華大學出版社2020年出版的圖書。作者是[美]J.伯頓·布朗寧(J.Burton Browning),[美]馬蒂·阿爾金(Marty Alchin) ,譯者是楊慶麟。

基本介紹

  • 中文名:Python 3·高級教程(第3版)
  • 作者:[美]J.伯頓·布朗寧(J.Burton Browning),[美]馬蒂·阿爾金(Marty Alchin)
  • 譯者:楊慶麟
  • 出版時間:2020年10月 
  • 出版社清華大學出版社
  • ISBN: 9787302563556
  • 定價:89 元
  • 開本:16 開
內容簡介,作者簡介,目錄,

內容簡介

《Python 3高級教程(第3版)》將引導你改進編程技術和方法,成為一名更具生產力和創造性的Python程式設計師。書中探討的一些概念和特性不僅可以幫助你改進代碼,而且還將加深你對Python社區中有關Python的哲學見解和細節理解。
《Python 3高級教程(第3版)》提供的一些工具有助於你編寫簡潔的創新性代碼。書中首先回顧了Python的一些核心指導原則,這些指導原則將在本書後面的各種概念和示例中加以說明。本書的前半部分探討了函式、類、協定和字元串的各個方面,並介紹了一些可能不是常識的技術,它們共同為你構築堅實的Python編程基礎。本書的後半部分涵蓋了文檔、測試和套用的發布。通過學習本書,你將能夠開發一個複雜的Python框架,其中包含貫穿全書的思想。
作為第3版,本書新增和更新的內容包括疊代器在Python 3中的作用、使用Scrapy和Beautful Soup進行Web抓取、使用Requests調用沒有字元串的Web頁面、用於分發和安裝的新工具,等等。在本書的最後,你還將學習一些不常見的特性,從而將自己的Python技能提升到一個新的高度。
主要內容
使用各類Python函式實現程式
使用類和面向對象編程
使用標準庫和第三方庫中的字元串
使用Python獲取網站數據
編寫測試套件以實現自動化單元測試
回顧成像、隨機數生成和NumPy科學擴展
了解Python文檔的玄機,確定分發代碼的更佳方式

作者簡介

J. Burton Browning在北卡羅來納州立大學獲得博士學位。他的研究領域包括遠程學習、編程技術和教學。作為一位終生學習者,他涉獵廣泛,對編程、攝影、機器人技術、汽車修復、木工、狩獵、閱讀、釣魚和射箭等話題都很感興趣。Browning博士之前的著作所涉及的內容包括跨職能學習團隊(Cross-Functional Learning Teams,CFLT)、烏托邦學校(教師主導的學校模式)、計算機編程(多種語言)、開源軟體、醫療統計和數據挖掘、數控等離子切割機操作、教育、傳記、移動學習、線上教學等。
Marty Alchin的本職工作是在Heroku擔任高級軟體工程師,他在閒暇時間熱衷於為社區編寫代碼,在其他許多以Gulopine為名的服務中都有關於他的簡介。特別是,他編寫的代碼可以在GitHub上找到,他的一些隨機想法也可以在Twitter上找到。

目錄

第1章 原理與哲學 1
1.1 Python之禪 1
1.1.1 優美勝於醜陋 3
1.1.2 明了勝於晦澀 3
1.1.3 簡潔勝於複雜 4
1.1.4 複雜勝於難以理解 5
1.1.5 扁平勝於嵌套 5
1.1.6 寬鬆勝於緊湊 6
1.1.7 可讀性很重要 7
1.1.8 即便是特例,也不可違背這些規則 8
1.1.9 實用性勝於純粹性 8
1.1.10 錯誤永遠不應該悄無聲息地過去 9
1.1.11 除非明確地沉默 10
1.1.12 面對模稜兩可的情況,拒絕猜測的誘惑 11
1.1.13 應該有一種(最好只有一種)顯而易見的方法 12
1.1.14 儘管這種方式起初可能並不明顯,除非你是荷蘭人 13
1.1.15 做比不做要好 13
1.1.16 不假思索就動手還不如不做 14
1.1.17 如果實現難以解釋,那就是一個糟糕的想法 14
1.1.18 如果實現容易解釋,則可能是一個好主意 14
1.1.19 命名空間是一個很棒的想法,讓我們做更多這樣的事情吧 15
1.2 不要重複自己 15
1.3 松耦合 16
1.4 武士原則 16
1.5 帕累托原則 17
1.6 穩健性原則 17
1.7 向後兼容性 19
1.8 小結 19
第2章 基礎知識 20
2.1 總體概念 20
2.1.1 疊代 20
2.1.2 快取 22
2.1.3 透明度 23
2.2 流程控制 23
2.2.1 捕獲異常 24
2.2.2 異常鏈 27
2.2.3 當一切順利的時候 29
2.2.4 繼續執行,無論異常如何 31
2.2.5 最佳化循環 32
2.2.6 with語句 33
2.2.7 條件表達式 34
2.3 疊代 36
2.3.1 序列解包 37
2.3.2 列表解析式 39
2.3.3 生成器表達式 40
2.3.4 集合解析式 41
2.3.5 字典解析式 41
2.3.6 將疊代器連結在一起 42
2.3.7 將疊代器壓縮在一起 42
2.4 容器數據類型 43
2.4.1 集合 43
2.4.2 命名元組 48
2.4.3 有序字典 48
2.4.4 帶有默認值的字典 49
2.5 導入代碼 50
2.5.1 回退(備用)導入 50
2.5.2 從即將發布的版本中導入 51
2.5.3 使用__all__進行自定義導入 52
2.5.4 相對導入 54
2.5.5 __import__函式 54
2.5.6 importlib模組 57
2.6 令人興奮的Python擴展:NIST的隨機數信標 57
2.6.1 如何安裝NIST信標庫 58
2.6.2 示例:獲取值 58
2.6.3 示例:模擬拋硬幣並記錄每次正反面的結果 59
2.7 小結 59
第3章 函式 60
3.1 參數 61
3.1.1 規劃時的靈活性 61
3.1.2 可變位置參數 62
3.1.3 可變關鍵字參數 63
3.1.4 組合不同類型的參數 64
3.1.5 調用具有可變參數的函式 67
3.1.6 傳遞參數 67
3.1.7 自省 69
3.1.8 示例:標識參數值 70
3.1.9 示例:一個更簡潔的版本 72
3.1.10 示例:驗證參數 75
3.2 裝飾器 76
3.2.1 閉包 78
3.2.2 包裝器 80
3.2.3 帶參數的裝飾器 81
3.2.4 帶參數或不帶參數的裝飾器 83
3.2.5 示例:記憶化 85
3.2.6 示例:用於創建裝飾器的裝飾器 86
3.3 函式註解 88
3.3.1 示例:類型安全 89
3.3.2 提取樣板 97
3.3.3 示例:類型強制轉換 100
3.3.4 用裝飾器進行註解 102
3.3.5 示例:將類型安全作為裝飾器 102
3.4 生成器 107
3.5 lambda 109
3.6 自省 110
3.6.1 標識對象類型 111
3.6.2 模組和軟體包 112
3.6.3 文檔字元串 112
3.7 令人興奮的Python擴展:統計 115
3.7.1 安裝Pandas和matplotlib 115
3.7.2 創建文本檔案 115
3.7.3 使用Pandas顯示數據 116
3.7.4 進行一些數據分析 116
3.7.5 使用matplotlib進行繪圖 117
3.7.6 圖表的類型 117
3.7.7 將matplotlib與Pandas結合起來 118
3.8 小結 118
第4章 類 119
4.1 繼承 119
4.1.1 多重繼承 122
4.1.2 方法解析順序 123
4.1.3 示例:C3算法 127
4.1.4 使用super函式將控制權傳遞給其他類 134
4.1.5 自省 137
4.2 如何創建類 139
4.2.1 在運行時創建類 140
4.2.2 元類 141
4.2.3 示例:外掛程式框架 142
4.2.4 控制命名空間 145
4.3 成員變數 147
4.3.1 屬性 147
4.3.2 描述器 149
4.4 方法 152
4.4.1 非綁定方法 152
4.4.2 綁定方法 153
4.5 魔術方法 156
4.5.1 創建實例 157
4.5.2 示例:自動化子類 158
4.5.3 處理成員變數 159
4.5.4 字元串表示 162
4.6 令人興奮的Python擴展:疊代器 164
4.7 小結 166
第11章 構建CSV框架sheets 290
11.1 構建聲明性框架 291
11.1.1 聲明性編程簡介 291
11.1.2 是否構建聲明性框架 292
11.2 構建框架 293
11.2.1 管理選項 294
11.2.2 定義欄位 297
11.2.3 將欄位附加到類 298
11.2.4 添加元類 300
11.2.5 整合 303
11.3 欄位排序 304
11.3.1 DeclarativeMeta.__prepare__ 305
11.3.2 Column.__init__ 307
11.3.3 Column.__new__ 310
11.3.4 CounterMeta.__call__311
11.3.5 挑選選項 313
11.4 構建欄位庫 313
11.4.1 StringField(字元串欄位) 315
11.4.2 IntegerColumn(整數列) 315
11.4.3 FloatColumn(浮點數列) 316
11.4.4 DecimalColumn(小數列) 316
11.4.5 DateColumn(日期列) 317
11.5 回到CSV 321
11.5.1 檢查參數 322
11.5.2 填充值 324
11.5.3 讀取器 327
11.5.4 寫入器 331
11.6 小結 334

相關詞條

熱門詞條

聯絡我們