注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計Python 3高級教程(第3版)

Python 3高級教程(第3版)

Python 3高級教程(第3版)

定 價:¥89.00

作 者: [美] J.伯頓·布朗寧(J.Burton Browning) 著,楊慶麟 譯
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787302563556 出版時間: 2020-10-01 包裝: 平裝
開本: 16開 頁數: 352 字數:  

內容簡介

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

作者簡介

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

圖書目錄

第1章 原理與哲學 1
1.1 Python之禪 1
1.1.1 優(yōu)美勝于丑陋 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 即便是特例,也不可違背這些規(guī)則 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 穩(wěn)健性原則 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 繼續(xù)執(zhí)行,無論異常如何 31
2.2.5 優(yōu)化循環(huán) 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 從即將發(fā)布的版本中導入 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 規(guī)劃時的靈活性 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 示例:用于創(chuàng)建裝飾器的裝飾器 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擴展:統(tǒng)計 115
3.7.1 安裝Pandas和matplotlib 115
3.7.2 創(chuàng)建文本文件 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 如何創(chuàng)建類 139
4.2.1 在運行時創(chuàng)建類 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 創(chuàng)建實例 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

本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號