日本免费精品视频,男人的天堂在线免费视频,成人久久久精品乱码一区二区三区,高清成人爽a毛片免费网站

在線客服
Python核心編程(第二版)圖書
人氣:36

Python核心編程(第二版)

《Python核心編程(第二版)》是經典的Python指導書,在*版的基礎上進行了升級。全書分為兩個部分:第1部分占據了大約三分之二的篇幅,闡釋這門語言的“核心”內容,包括基本的概念和語句、語法和風格...
  • 所屬分類:圖書 >計算機/網絡>程序設計>其他  
  • 作者:??????[Chun]?[W.J].?????????
  • 產品參數:
  • 叢書名:--
  • 國際刊號:9787115178503
  • 出版社:人民郵電出版社
  • 出版時間:2008-06
  • 印刷時間:2008-07-01
  • 版次:1
  • 開本:12開
  • 頁數:--
  • 紙張:膠版紙
  • 包裝:--
  • 套裝:

內容簡介

《Python核心編程(第二版)》是經典的Python指導書,在版的基礎上進行了升級。全書分為兩個部分:第1部分占據了大約三分之二的篇幅,闡釋這門語言的“核心”內容,包括基本的概念和語句、語法和風格、Python對象、數字類型、序列類型、映射和集合類型、條件和循環、文件和輸入/輸出、錯誤和異常、函數和函數式編程、模塊、面向對象編程、執行環境等內容:第2部分則提供了各種高級主題來展示可以使用Python做些什么,包括正則表達式、網絡編程、網絡客戶端編程、多線程編程、圖形用戶界面編程、Web編程、數據庫編程、擴展Python 和一些其他材料。

編輯推薦

對Python核心特性系統的專家級講解;

為開發復雜的應用程序和軟件所需的強大深入的視角;

易用的圖表,詳細描述了Python 模塊、操作符、函數和方法;

大量的專業級的實例代碼,從小的代碼片段到功能齊全的應用程序一應俱全。

目錄

目 錄

第1部分 Python核心

第1章 歡迎來到Python世界 3

1.1 什么是Python 4

1.2 起源 4

1.3 特點 4

1.3.1 高級 4

1.3.2 面向對象 5

1.3.3 可升級 5

1.3.4 可擴展 5

1.3.5 可移植性 5

1.3.6 易學 6

1.3.7 易讀 6

1.3.8 易維護 6

1.3.9 健壯性 6

1.3.10 高效的快速原型開發工具 6

1.3.11 內存管理器 7

1.3.12 解釋性和(字節)編譯性 7

1.4 下載和安裝Python 7

1.5 運行Python 8

1.5.1 命令行上的交互式解釋器 9

1.5.2 從命令行啟動腳本 10

1.5.3 集成開發環境 11

1.5.4 其他的集成開發環境和執行環境 14

1.6 Python文檔 15

1.7 比較Python(Python與其他語言的比較) 15

1.8 其他實現 17

1.9 練習 18

第2章 快速入門 19

2.1 程序輸出,print語句及“Hello World!” 20

2.2 程序輸入和raw_input()內建函數 21

2.3 注釋 22

2.4 操作符 22

2.5 變量和賦值 24

2.6 數字 24

2.7 字符串 25

2.8 列表和元組 26

2.9 字典 26

2.10 代碼塊及縮進對齊 27

2.11 if語句 27

2.12 while循環 28

2.13 for循環和range()內建函數 28

2.14 列表解析 30

2.15 文件和內建函數open()、file() 30

2.16 錯誤和異常 31

2.17 函數 32

2.17.1 如何定義函數 32

2.17.2 如何調用函數 32

2.17.3 默認參數 33

2.18 類 33

2.19 模塊 35

2.19.1 如何導入模塊 35

2.19.2 如何訪問一個模塊函數或訪問一個模塊變量 35

2.20 實用的函數 36

2.21 練習 36

第3章 Python基礎 39

3.1 語句和語法 40

3.1.1 注釋(#) 40

3.1.2 繼續(\) 40

3.1.3 多個語句構成代碼組(:) 41

3.1.4 代碼組由不同的縮進分隔 41

3.1.5 同一行書寫多個語句(;) 41

3.1.6 模塊 41

3.2 變量賦值 42

3.2.1 賦值操作符 42

3.2.2 增量賦值 42

3.2.3 多重賦值 43

3.2.4 “多元”賦值 43

3.3 標識符 44

3.3.1 合法的Python標識符 44

3.3.2 關鍵字 44

3.3.3 內建 45

3.3.4 專用下劃線標識符 45

3.4 基本風格指南 45

3.4.1 模塊結構和布局 46

3.4.2 在主程序中書寫測試代碼 48

3.5 內存管理 49

3.5.1 變量定義 49

3.5.2 動態類型 49

3.5.3 內存分配 49

3.5.4 引用計數 50

3.5.5 垃圾收集 51

3.6 及時個Python程序 51

3.7 相關模塊和開發工具 54

3.8 練習 55

第4章 Python對象 56

4.1 Python 對象 57

4.2 標準類型 57

4.3 其他內建類型 58

4.3.1 類型對象和type類型對象 58

4.3.2 None--Python的Null對象 58

4.4 內部類型 59

4.4.1 代碼對象 59

4.4.2 幀對象 60

4.4.3 跟蹤記錄對象 60

4.4.4 切片對象 60

4.4.5 省略對象 60

4.4.6 XRange 對象 60

4.5 標準類型操作符 61

4.5.1 對象值的比較 61

4.5.2 對象身份比較 61

4.5.3 布爾類型 64

4.6 標準類型內建函數 64

4.6.1 type() 64

4.6.2 cmp() 65

4.6.3 str()和repr()(及``操作符) 66

4.6.4 type()和isinstance() 67

4.6.5 Python類型操作符和內建函數總結 70

4.7 類型工廠函數 70

4.8 標準類型的分類 71

4.8.1 存儲模型 71

4.8.2 更新模型 72

4.8.3 訪問模型 73

4.9 不支持的類型 74

4.10 練習 75

第5章 數字 76

5.1 數字簡介 77

5.1.1 如何創建數值對象并用其賦值(數字對象) 77

5.1.2 如何更新數字對象 77

5.1.3 如何刪除數字對象 77

5.2 整型 77

5.2.1 布爾型 78

5.2.2 標準整型 78

5.2.3 長整型 78

5.2.4 整型和長整型的統一 79

5.3 雙精度浮點型 79

5.4 復數 80

5.5 操作符 81

5.5.1 混合模式操作符 81

5.5.2 標準類型操作符 82

5.5.3 算術操作符 82

5.5.4 位操作符(只適用于整型) 86

5.6 內建函數與工廠函數 87

5.6.1 標準類型函數 87

5.6.2 數字類型函數 87

5.6.3 僅用于整型的函數 92

5.7 其他數字類型 93

5.7.1 布爾“數” 93

5.7.2 十進制浮點型 94

5.8 相關模塊 95

5.9 練習 97

第6章 序列:字符串、列表和元組 100

6.1 序列 101

6.1.1 標準類型操作符 101

6.1.2 序列類型操作符 101

6.1.3 內建函數(BIF) 106

6.2 字符串 107

6.3 字符串和操作符 109

6.3.1 標準類型操作符 109

6.3.2 序列操作符切片([]和[:]) 109

6.4 只適用于字符串的操作符 114

6.4.1 格式化操作符(%) 114

6.4.2 字符串模板: 更簡單的替代品 117

6.4.3 原始字符串操作符(r/R) 118

6.4.4 Unicode字符串操作符(u/U) 119

6.5 內建函數 119

6.5.1 標準類型函數 119

6.5.2 序列類型函數 119

6.5.3 字符串類型函數 120

6.6 字符串內建函數 121

6.7 字符串的獨特特性 124

6.7.1 特殊字符串和控制字符 124

6.7.2 三引號 125

6.7.3 字符串不變性 126

6.8 Unicode 127

6.8.1 術語 127

6.8.2 什么是Unicode 128

6.8.3 怎樣使用Unicode 128

6.8.4 Codec是什么 129

6.8.5 編碼解碼 129

6.8.6 把Unicode應用到實際應用中 130

6.8.7 從現實中得來的教訓 131

6.8.8 Python的Unicode支持 131

6.9 相關模塊 133

6.10 字符串關鍵點總結 134

6.11 列表 134

6.12 操作符 136

6.12.1 標準類型操作符 136

6.12.2 序列類型操作符 136

6.12.3 列表類型操作符和列表解析 139

6.13 內建函數 139

6.13.1 標準類型函數 139

6.13.2 序列類型函數 140

6.13.3 列表類型內建函數 142

6.14 列表類型的內建函數 142

6.15 列表的特殊特性 145

6.16 元組 151

6.17 元組操作符和內建函數 152

6.17.1 標準類型操作符、序列類型操作符和內建函數 152

6.17.2 元組類型操作符和內建函數、內建方法 153

6.18 元組的特殊特性 153

6.18.1 不可變性給元組帶來了什么影響 153

6.18.2 元組也不是那么“不可變” 153

6.18.3 默認集合類型 154

6.18.4 單元素元組 155

6.18.5 字典的關鍵字 155

6.19 相關模塊 156

6.20 拷貝Python對象、淺拷貝和深拷貝 156

6.21 序列類型小結 158

6.22 練習 160

第7章 映像和集合類型 163

7.1 映射類型:字典 164

7.1.1 如何創建字典和給字典賦值 164

7.1.2 如何訪問字典中的值 165

7.1.3 如何更新字典 166

7.1.4 如何刪除字典元素和字典 167

7.2 映射類型操作符 167

7.2.1 標準類型操作符 167

7.2.2 映射類型操作符 168

7.3 映射類型的內建函數和工廠函數 168

7.3.1 標準類型函數[type()、str()和cmp()] 168

7.3.2 映射類型相關的函數 170

7.4 映射類型內建方法 172

7.5 字典的鍵 174

7.5.1 不允許一個鍵對應多個值 174

7.5.2 鍵必須是可哈希的 175

7.6 集合類型 178

7.6.1 如何創建集合類型和給集合賦值 179

7.6.2 如何訪問集合中的值 179

7.6.3 如何更新集合 179

7.6.4 如何刪除集合中的成員和集合 180

7.7 集合類型操作符 180

7.7.1 標準類型操作符(所有的集合類型) 180

7.7.2 集合類型操作符(所有的集合類型) 181

7.7.3 集合類型操作符(僅適用于可變集合) 182

7.8 內建函數 183

7.8.1 標準類型函數 183

7.8.2 集合類型工廠函數 183

7.9 集合類型內建方法 184

7.9.1 方法(所有的集合方法) 184

7.9.2 方法(僅適用于可變集合) 184

7.9.3 操作符和內建方法比較 185

7.10 集合類型總結表 185

7.11 相關模塊 186

7.12 練習 186

第8章 條件和循環 189

8.1 if語句 190

8.1.1 多重條件表達式 190

8.1.2 單一語句的代碼塊 190

8.2 else語句 190

8.3 elif(即else-if)語句 191

8.4 條件表達式(即“三元操作符”) 192

8.5 while語句 193

8.5.1 一般語法 193

8.5.2 計數循環 193

8.5.3 無限循環 194

8.6 for語句 194

8.6.1 一般語法 194

8.6.2 用于序列類型 195

8.6.3 用于迭代器類型 196

8.6.4 range()內建函數 196

8.6.5 xrange() 內建函數 198

8.6.6 與序列相關的內建函數 198

8.7 break語句 199

8.8 continue語句 199

8.9 pass語句 200

8.10 再談else語句 200

8.11 迭代器和iter()函數 202

8.11.1 什么是迭代器 202

8.11.2 為什么要迭代器 202

8.11.3 如何迭代 202

8.11.4 使用迭代器 203

8.11.5 可變對象和迭代器 204

8.11.6 如何創建迭代器 204

8.12 列表解析 205

8.13 生成器表達式 206

8.14 相關模塊 209

8.15 練習 209

第9章 文件和輸入輸出 212

9.1 文件對象 213

9.2 文件內建函數(open()和file()) 213

9.2.1 工廠函數file() 214

9.2.2 通用換行符支持(UNS) 214

9.3 文件內建方法 215

9.3.1 輸入 215

9.3.2 輸出 215

9.3.3 文件內移動 216

9.3.4 文件迭代 216

9.3.5 其他 216

9.3.6 文件方法雜項 217

9.4 文件內建屬性 219

9.5 標準文件 220

9.6 命令行參數 220

9.7 文件系統 221

9.8 文件執行 227

9.9 長期存儲模塊 227

9.9.1 pickle和marshal模塊 227

9.9.2 DBM風格的模塊 228

9.9.3 shelve模塊 228

9.10 相關模塊 229

9.11 練習 230

第10章 錯誤和異常 234

10.1 什么是異常 235

10.1.1 錯誤 235

10.1.2 異常 235

10.2 Python 中的異常 236

10.3 檢測和處理異常 237

10.3.1 try-except語句 238

10.3.2 包裝內建函數 238

10.3.3 帶有多個except的try語句 240

10.3.4 處理多個異常的except語句 241

10.3.5 捕獲所有異常 242

10.3.6 “異常參數” 244

10.3.7 在應用使用我們封裝的函數 245

10.3.8 else子句 247

10.3.9 finally子句 248

10.3.10 try-finally語句 248

10.3.11 try-except-else-finally:廚房一鍋端 250

10.4 上下文管理 251

10.4.1 with語句 251

10.4.2 上下文管理協議 252

10.5 字符串作為異常 252

10.6 觸發異常 253

10.7 斷言 254

10.8 標準異常 255

10.9 創建異常 257

10.10 (現在)為什么用異常 262

10.11 到底為什么要異常 263

10.12 異常和sys模塊 263

10.13 相關模塊 264

10.14 練習 264

第11章 函數和函數式編程 266

11.1 什么是函數? 267

11.1.1 函數vs過程 267

11.1.2 返回值與函數類型 267

11.2 調用函數 268

11.2.1 函數操作符 268

11.2.2 關鍵字參數 269

11.2.3 默認參數 269

11.2.4 參數組 269

11.3 創建函數 272

11.3.1 def語句 272

11.3.2 聲明與定義比較 272

11.3.3 前向引用 272

11.3.4 函數屬性 273

11.3.5 內部/內嵌函數 274

11.3.6 函數(與方法)裝飾器 275

11.4 傳遞函數 278

11.5 Formal Arguments 279

11.5.1 位置參數 279

11.5.2 默認參數 279

11.6 可變長度的參數 282

11.6.1 非關鍵字可變長參數(元組) 282

11.6.2 關鍵字變量參數(字典) 283

11.6.3 調用帶有可變長參數對象函數 284

11.7 函數式編程 286

11.7.1 匿名函數與lambda 286

11.7.2 內建函數apply()、filter()、map()、reduce() 288

11.7.3 偏函數應用 293

11.8 變量作用域 295

11.8.1 全局變量與局部變量 295

11.8.2 globa語句 296

11.8.3 作用域的數字 297

11.8.4 閉包 298

11.8.5 作用域和lambda 302

11.8.6 變量作用域和名稱空間 304

11.9 遞歸 304

11.10 生成器 305

11.10.1 簡單的生成器特性 305

11.10.2 加強的生成器特性 307

11.11 練習 308

第12章 模塊 310

12.1 什么是模塊 311

12.2 模塊和文件 311

12.2.1 模塊名稱空間 311

12.2.2 搜索路徑和路徑搜索 311

12.3 名稱空間 312

12.3.1 名稱空間與變量作用域比較 313

12.3.2 名稱查找、確定作用域、覆蓋 314

12.3.3 無限制的名稱空間 314

12.4 導入模塊 315

12.4.1 import語句 315

12.4.2 from-import語句 315

12.4.3 多行導入 316

12.4.4 擴展的import語句(as) 316

12.5 模塊導入的特性 316

12.5.1 載入時執行模塊 316

12.5.2 導入(import)和加載(load) 317

12.5.3 導入到當前名稱空間的名稱 317

12.5.4 被導入到導入者作用域的名字 317

12.5.5 關于__future__ 318

12.5.6 警告框架 318

12.5.7 從ZIP文件中導入模塊 319

12.5.8 “新的”導入鉤子 319

12.6 模塊內建函數 319

12.6.1 __import__() 319

12.6.2 globals()和locals() 320

12.6.3 reload() 320

12.7 包 321

12.7.1 目錄結構 321

12.7.2 使用from-import導入包 322

12.8 模塊的其他特性 323

12.8.1 自動載入的模塊 323

12.8.2 阻止屬性導入 323

12.8.3 不區分大小的導入 323

12.8.4 源代碼編碼 324

12.8.5 導入循環 324

12.8.6 模塊執行 325

12.9 相關模塊 325

12.10 練習 326

第13章 面向對象編程 327

13.1 引言 328

13.2 面向對象編程 333

13.2.1 面向對象設計與面向對象編程的關系 333

13.2.2 現實中的問題 334

13.2.3 常用術語 334

13.3 類 335

13.3.1 創建類 336

13.3.2 聲明與定義 336

13.4 類屬性 336

13.4.1 類的數據屬性 337

13.4.2 Methods 337

13.4.3 決定類的

在線預覽

第1部分 Python核心

第1章 歡迎來到Python世界

開篇將介紹一些Python的背景知識,包括什么是Python、Python的起源和它的一些關鍵特性。一旦你來了興致,我們就會向你介紹怎樣獲得Python,以及如何在你的系統上安裝并運行它。本章的練習將會幫助你非常自如地使用Python,包括使用交互式解釋器,以及創建并運行腳本程序。

1.1 什么是Python

Python是一門優雅而健壯的編程語言,它繼承了傳統編譯語言的強大性和通用性,同時也借鑒了簡單腳本和解釋語言的易用性。它可以幫你完成工作,而且一段時問以后,你還能看明白自己寫的這段代碼。你會對自己如此快地學會它和它強大的功能感到十分的驚訝,更不用提你已經完成的工作了!只有你想不到,沒有Python做不到。

1.2 起源

Guido van Rossum于1989年底始創了Python,那時,他還在荷蘭的CWI(Centrum voor Wiskunde en Informatica,國家數學和計算機科學研究院)。1991年初,Python了及時個公開發行版。這一切究竟是如何開始的呢?像C、C 、Lisp、.Java和Perl一樣,Python來自于某個研究項目,項目中的那些程序員利用手邊現有的工具辛苦地工作著,他們設想并開發出了更好的解決辦法。

那時van Rossum是一位研究人員,對解釋型語言ABC有著豐富的設計‘經驗,這個語言同樣也是在CWI開發的。但是他不滿足其有限的開發能力。已經使用并參與開發了像ABC這樣的高級語言后,再退回到C語言顯然是不可能的。他所期望的工具有一些是用于完成日常系統管理任務的,而且它還希望能夠訪問Amoeba分布式操作系統的系統調用。盡管vanRossum也曾想過為Amoeba開發專用語言,但足創造一種通用的程序設計語言顯然更加明智,于是在1989年末,Python的種子被播下了。

1.3 特點

盡管Python已經流行了超過15年,但是一些人仍舊認為相對于通用軟件開發產業而言,它還是個新丁。我們應當謹慎地使用“相對”這個詞,因為“網絡時代”的程序開發,幾年看上去就像幾十年。

當人們詢問:“什么是Python?”的時候,很難用任何一個具象來描述它。人們更傾向于一口氣不加思索地說出他們對Python的所有感覺,Python是一(請填寫),這些特點究竟又是什么呢?為了讓你能知其所以然,我們下面會對這些特點進行逐一地闡釋。

1.3.1 高級

伴隨著每一代編程語言的產生,我們會達到一個新的高度。匯編語言是獻給那些掙扎在機器代碼中的人的禮物,后來有了FORTRAN、c和Pascal語言,它們將計算提升到了嶄新的高度,并且開創了軟件開發行業。伴隨著C語言誕生了更多的像c斗_卜、Java這樣的現代編譯語言。我們沒有止步于此,于是有了強大的、可以進行系統調用的解釋型腳本語言,例如Tcl、Perl和Python。

這些語言都有高級的數據結構,這樣就減少了以前“框架”開發需要的時間。像Python中的列表(大小可變的數組)和字典(哈希表)就是內建于語言本身的。在核心語言中提供這些重要的構建單元,可以鼓勵人們使用它們,縮短開發時間與代碼量,產生出可讀性更好的代碼。

在C語言中,對于混雜數組(Python中的列表)和哈希表(Python中的字典)還沒有相應的標準庫,所以它們經常被重復實現,并被復制到每個新項目中去。這個過程混亂而且容易產生錯誤。

……

網友評論(不代表本站觀點)

免責聲明

更多出版社