Python3教程第3版

Python3教程第3版

基本介紹

  • 中文名
  • 作者
  • 出版時間
  • 出版社
  • ISBN
  • 定價: 
  • 開本
  • 裝幀
內容簡介,圖書目錄,作者簡介,

內容簡介

圖書目錄

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

作者簡介

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

相關詞條

熱門詞條

聯絡我們