新到貨2本75折
Python基礎教程(第2版·修訂版)

Python基礎教程(第2版·修訂版)

  • 定價:474
  • 優惠價:87412
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

包括Python程序設計的方方面面,首先從Python的安裝開始,隨后介紹了Python的基礎知識和基本概念,包括列表、元組、字符串、字典以及各種語句。然后循序漸進地介紹了一些相對高級的主題,包括抽象、異常、魔法方法、屬性、迭代器。此后探討了如何將Python與數據庫、網絡、C語言等工具結合使用,從而發揮出Python的強大功能,同時介紹了Python程序測試、打包、發布等知識。最后,作者結合前面講述的內容,按照實際項目開發的步驟向讀者介紹了幾個具有實際意義的Python項目的開發過程。

《Python基礎教程(第2版·修訂版)》內容涉及的范圍較廣,既能為初學者夯實基礎,又能幫助程序員提升技能,適合各個層次的Python開發人員閱讀參考。

Magnus Lie Hetland 挪威科技大學副教授,教授算法。黑客,喜歡鑽研新銳編程語言,是Python語言的堅定支持者。他寫過很多Python方面的書和在線教程,比如深受讀者歡迎的網上教程Instant Python。此外他還是一名業余話劇演員,從1985年首次登台至今,已經參演數十部話劇。
 

目錄

第1章 快速改造:基礎知識 1
1.1 安裝Python 1
1.1.1 Windows 1
1.1.2 Linux和UNIX 3
1.1.3 蘋果機(Macintosh) 4
1.1.4 其他發行版本 5
1.1.5 時常關注,保持更新 6
1.2 交互式解釋器 6
1.3 算法是什麼 7
1.4 數字和表達式 8
1.4.1 長整數 9
1.4.2 十六進制和八進制 10
1.5 變量 10
1.6 語句 11
1.7 獲取用戶輸入 12
1.8 函數 13
1.9 模塊 14
1.9.1 cmath和復數 14
1.9.2 回到__future__ 15
1.10 保存並執行程序 15
1.10.1 通過命令提示符運行Python腳本 16
1.10.2 讓腳本像普通程序一樣運行 17
1.10.3 注釋 18
1.11 字符串 19
1.11.1 單引號字符串和轉義引號 19
1.11.2 拼接字符串 20
1.11.3 字符串表示,str和repr 20
1.11.4 input和raw_input的比較 21
1.11.5 長字符串、原始字符串和Unicode 22
1.12 小結 24
1.12.1 本章的新函數 25
1.12.2 接下來學什麼 25

第2章 列表和元組 26
2.1 序列概覽 26
2.2 通用序列操作 27
2.2.1 索引 27
2.2.2 分片 29
2.2.3 序列相加 31
2.2.4 乘法 31
2.2.5 成員資格 32
2.2.6 長度、最小值和最大值 33
2.3 列表:Python的「苦力」 34
2.3.1 list函數 34
2.3.2 基本的列表操作 34
2.3.3 列表方法 36
2.4 元組:不可變序列 41
2.4.1 tuple函數 42
2.4.2 基本元組操作 42
2.4.3 那麼,意義何在 42
2.5 小結 43
2.5.1 本章的新函數 43
2.5.2 接下來學什麼 43

第3章 使用字符串 44
3.1 基本字符串操作 44
3.2 字符串格式化:精簡版 44
3.3 字符串格式化:完整版 46
3.3.1 簡單轉換 47
3.3.2 字段寬度和精度 47
3.3.3 符號、對齊和用0填充 47
3.4 字符串方法 49
3.4.1 find 49
3.4.2 join 50
3.4.3 lower 51
3.4.4 replace 51
3.4.5 split 52
3.4.6 strip 52
3.4.7 translate 52
3.5 小結 54
3.5.1 本章的新函數 54
3.5.2 接下來學什麼 54

第4章 字典:當索引不好用時 55
4.1 字典的使用 55
4.2 創建和使用字典 56
4.2.1 dict函數 56
4.2.2 基本字典操作 57
4.2.3 字典的格式化字符串 58
4.2.4 字典方法 59
4.3 小結 64
4.3.1 本章的新函數 64
4.3.2 接下來學什麼 64

第5章 條件、循環和其他語句 65
5.1 print和import的更多信息 65
5.1.1 使用逗號輸出 65
5.1.2 把某件事作為另一件事導入 66
5.2 賦值魔法 67
5.2.1 序列解包 67
5.2.2 鏈式賦值 68
5.2.3 增量賦值 68
5.3 語句塊:縮排的樂趣 69
5.4 條件和條件語句 69
5.4.1 這就是布爾變量的作用 69
5.4.2 條件執行和 if 語句 70
5.4.3 else子句 71
5.4.4 elif子句 71
5.4.5 嵌套代碼塊 71
5.4.6 更復雜的條件 72
5.4.7 斷言 76
5.5 循環 76
5.5.1 while循環 77
5.5.2 for循環 77
5.5.3 循環遍歷字典元素 78
5.5.4 一些迭代工具 79
5.5.5 跳出循環 80
5.5.6 循環中的else子句 82
5.6 列表推導式——輕量級循環 82
5.7 三人行 83
5.7.1 什麼都沒發生 84
5.7.2 使用del刪除 84
5.7.3 使用exec和eval執行和求值字符串 85
5.8 小結 87
5.8.1 本章的新函數 88
5.8.2 接下來學什麼 88

第6章 抽象 89
6.1 懶惰即美德 89
6.2 抽象和結構 90
6.3 創建函數 90
6.3.1 文檔化函數 91
6.3.2 並非真正函數的函數 92
6.4 參數魔法 92
6.4.1 值從哪里來 93
6.4.2 我能改變參數嗎 93
6.4.3 關鍵字參數和默認值 97
6.4.4 收集參數 99
6.4.5 參數收集的逆過程 101
6.4.6 練習使用參數 102
6.5 作用域 103
6.6 遞歸 105
6.6.1 兩個經典:階乘和冪 106
6.6.2 另外一個經典:二分法查找 107
6.7 小結 110
6.7.1 本章的新函數 110
6.7.2 接下來學什麼 111

第7章 更加抽象 112
7.1 對象的魔力 112
7.1.1 多態 113
7.1.2 封裝 115
7.1.3 繼承 117
7.2 類和類型 117
7.2.1 類到底是什麼 117
7.2.2 創建自己的類 118
7.2.3 特性、函數和方法 119
7.2.4 類的命名空間 121
7.2.5 指定超類 122
7.2.6 檢查繼承 122
7.2.7 多個超類 123
7.2.8 接口和內省 124
7.3 一些關於面向對象設計的思考 125
7.4 小結 125
7.4.1 本章的新函數 126
7.4.2 接下來學什麼 126

第8章 異常 127
8.1 什麼是異常 127
8.2 按自己的方式出錯 127
8.2.1 raise語句 127
8.2.2 自定義異常類 128
8.3 捕捉異常 129
8.4 不止一個except子句 130
8.5 用一個塊捕捉兩個異常 131
8.6 捕捉對象 131
8.7 真正的全捕捉 132
8.8 萬事大吉 132
8.9 最后…… 134
8.10 異常和函數 134
8.11 異常之禪 135
8.12 小結 136
8.12.1 本章的新函數 137
8.12.2 接下來學什麼 137

第9章 魔法方法、屬性和迭代器 138
9.1 准備工作 138
9.2 構造方法 139
9.2.1 重寫一般方法和特殊的構造方法 140
9.2.2 調用未綁定的超類構造方法 141
9.2.3 使用super函數 142
9.3 成員訪問 143
9.3.1 基本的序列和映射規則 144
9.3.2 子類化列表,字典和字符串 146
9.4 更多魔力 147
9.5 屬性 147
9.5.1 property函數 148
9.5.2 靜態方法和類成員方法 149
9.5.3 __getattr__、__setattr__和它的朋友們 150
9.6 迭代器 151
9.6.1 迭代器規則 151
9.6.2 從迭代器得到序列 153
9.7 生成器 153
9.7.1 創建生成器 153
9.7.2 遞歸生成器 154
9.7.3 通用生成器 156
9.7.4 生成器方法 156
9.7.5 模擬生成器 157
9.8 八皇后問題 158
9.8.1 生成器和回溯 158
9.8.2 問題 159
9.8.3 狀態表示 159
9.8.4 尋找沖突 159
9.8.5 基本情況 160
9.8.6 需要遞歸的情況 161
9.8.7 打包 162
9.9 小結 163
9.9.1 本章的新函數 164
9.9.2 接下來學什麼 164

第10章 自帶電池 165
10.1 模塊 165
10.1.1 模塊是程序 165
10.1.2 模塊用於定義 167
10.1.3 讓你的模塊可用 169
10.1.4 包 171
10.2 探究模塊 172
10.2.1 模塊中有什麼 172
10.2.2 用help獲取幫助 173
10.2.3 文檔 174
10.2.4 使用源代碼 174
10.3 標准庫:一些最愛 175
10.3.1 sys 175
10.3.2 os 176
10.3.3 fileinput 178
10.3.4 集合、堆和雙端隊列 180
10.3.5 time 184
10.3.6 random 185
10.3.7 shelve 188
10.3.8 re 191
10.3.9 其他有趣的標准模塊 204
10.4 小結 205
10.4.1 本章的新函數 205
10.4.2 接下來學什麼 206

第11章 文件和流 207
11.1 打開文件 207
11.1.1 文件模式 207
11.1.2 緩沖 208
11.2 基本的文件方法 209
11.2.1 讀和寫 209
11.2.2 管式輸出 210
11.2.3 讀寫行 211
11.2.4 關閉文件 212
11.2.5 使用基本文件方法 213
11.3 對文件內容進行迭代 214
11.3.1 按字節處理 214
11.3.2 按行操作 215
11.3.3 讀取所有內容 215
11.3.4 使用fileinput實現懶惰行迭代 216
11.3.5 文件迭代器 216
11.4 小結 217
11.4.1 本章的新函數 218
11.4.2 接下來學什麼 218

第12章 圖形用戶界面 219
12.1 豐富的平台 219
12.2 下載和安裝wxPython 220
12.3 創建示例GUI應用程序 221
12.3.1 開始 221
12.3.2 窗口和組件 222
12.3.3 標簽、標題和位置 223
12.3.4 更智能的布局 225
12.3.5 事件處理 226
12.3.6 完成了的程序 226
12.4 但是我寧願用…… 228
12.4.1 使用Tkinter 229
12.4.2 使用Jython和Swing 229
12.4.3 使用其他開發包 230
12.5 小結 230

第13章 數據庫支持 231
13.1 Python數據庫編程接口(API) 232
13.1.1 全局變量 232
13.1.2 異常 233
13.1.3 連接和游標 233
13.1.4 類型 235
13.2 SQLite和PySQLite 235
13.2.1 入門 236
13.2.2 數據庫應用程序示例 237
13.3 小結 239
13.3.1 本章的新函數 240
13.3.2 接下來學什麼 240

第14章 網絡編程 241
14.1 少數幾個網絡設計模塊 241
14.1.1 socket模塊 242
14.1.2 urllib和urllib2模塊 243
14.1.3 其他模塊 245
14.2 SocketServer和它的朋友們 246
14.3 多個連接 247
14.3.1 使用SocketServer進行分叉和線程處理 248
14.3.2 帶有select和poll的異步I/O 249
14.4 Twisted 251
14.4.1 下載並安裝Twisted 251
14.4.2 編寫Twisted服務器 251
14.5 小結 253
14.5.1 本章的新函數 254
14.5.2 接下來學什麼 254

第15章 Python和Web 255
15.1 屏幕抓取 255
15.1.1 Tidy和XHTML解析 256
15.1.2 Beautiful Soup 260
15.2 使用CGI創建動態網頁 261
15.2.1 第一步:准備網絡服務器 261
15.2.2 第二步:加入Pound Bang行 261
15.2.3 第三步:設置文件權限 262
15.2.4 CGI安全風險 263
15.2.5 簡單的CGI腳本 263
15.2.6 使用cgitb調試 263
15.2.7 使用cgi模塊 264
15.2.8 簡單的表單 266
15.3 更進一步:mod_python 267
15.3.1 安裝mod_python 268
15.3.2 CGI處理程序 269
15.3.3 PSP 270
15.3.4 發布 271
15.4 網絡應用程序框架 273
15.5 Web服務:正確分析 274
15.5.1 RSS和相關內容 274
15.5.2 使用XML-RPC進行遠程過程調用 275
15.5.3 SOAP 276
15.6 小結 276
15.6.1 本章的新函數 276
15.6.2 接下來學什麼 276

第16章 測試 277
16.1 先測試,后編碼 277
16.1.1 精確的需求說明 278
16.1.2 為改變而計划 279
16.1.3 測試的4個步驟 279
16.2 測試工具 280
16.2.1 doctest 280
16.2.2 unittest 282
16.3 單元測試以外的內容 285
16.3.1 使用PyChecker和PyLint檢查源代碼 285
16.3.2 性能分析 288
16.4 小結 289
16.4.1 本章的新函數 290
16.4.2 接下來學什麼 290

第17章 擴展Python 291
17.1 考慮哪個更重要 291
17.2 非常簡單的途徑:Jython和IronPython 292
17.3 編寫C語言擴展 294
17.3.1 SWIG 296
17.3.2 自己研究 299
17.4 小結 303
17.4.1 本章的新函數 304
17.4.2 接下來學什麼 304

第18章 程序打包 305
18.1 Distutils基礎 305
18.2 打包 307
18.2.1 建立存檔文件 307
18.2.2 創建Windows安裝程序或RPM包 308
18.3 編譯擴展 309
18.4 使用py2exe創建可執行程序 310
18.5 小結 311
18.5.1 本章的新函數 311
18.5.2 接下來學什麼 311

第19章 好玩的編程 312
19.1 為什麼要好玩 312
19.2 程序設計的柔術 312
19.3 原型設計 313
19.4 配置 314
19.4.1 提取常量 314
19.4.2 配置文件 315
19.5 日志記錄 317
19.6 如果還沒煩 318
19.7 如果還想學 318
19.8 小結 319

第20章 項目1:即時標記 320
20.1 問題是什麼 320
20.2 有用的工具 321
20.3 准備工作 321
20.4 初次實現 322
20.4.1 找出文本塊 322
20.4.2 添加一些標記 323
20.5 再次實現 324
20.5.1 處理程序 325
20.5.2 處理程序的超類 325
20.5.3 規則 327
20.5.4 規則的超類 328
20.5.5 過濾器 328
20.5.6 分析器 328
20.5.7 構造規則和過濾器 329
20.5.8 整合 332
20.6 進一步探索 336

第21章 項目2:畫幅好畫 337
21.1 問題 337
21.2 有用的工具 338
21.3 准備工作 338
21.4 初次實現 339
21.4.1 用ReportLab畫圖 339
21.4.2 生成折線 340
21.4.3 編寫原型 341
21.5 再次實現 342
21.5.1 獲取數據 342
21.5.2 使用LinePlot類 343
21.6 進一步探索 344

第22章 項目3:萬能的XML 345
22.1 問題 345
22.2 有用的工具 346
22.3 准備工作 347
22.4 初次實現 348
22.4.1 創建簡單的內容處理器 348
22.4.2 生成HTML頁面 350
22.5 再次實現 352
22.5.1 調度程序的混入類 352
22.5.2 實現首部、頁腳和默認的處理程序 354
22.5.3 對目錄的支持 354
22.5.4 事件處理程序 355
22.6 進一步探索 358

第23章 項目4:新聞聚合 359
23.1 問題 359
23.2 有用的工具 360
23.3 准備工作 360
23.4 初次實現 360
23.5 再次實現 363
23.6 進一步探索 369

第24章 項目5:虛擬茶話會 371
24.1 問題 371
24.2 有用的工具 371
24.3 准備工作 372
24.4 初次實現 373
24.4.1 ChatServer類 373
24.4.2 ChatSession類 374
24.4.3 整合 376
24.5 再次實現 377
24.5.1 基礎命令解釋 378
24.5.2 房間 378
24.5.3 登錄和退出房間 379
24.5.4 主聊天室 379
24.5.5 新的服務器 380
24.6 進一步探索 384

第25章 項目6:使用CGI進行遠程編輯 385
25.1 問題 385
25.2 有用的工具 385
25.3 准備工作 386
25.4 初次實現 386
25.5 再次實現 387
25.5.1 創建文件名表單 387
25.5.2 創建編輯器的腳本 388
25.5.3 編寫保存腳本 389
25.5.4 運行編輯器 390
25.6 進一步探索 391

第26章 項目7:自定義電子公告板 393
26.1 問題 393
26.2 有用的工具 394
26.3 准備工作 394
26.4 初次實現 395
26.5 再次實現 398
26.5.1 編寫Main腳本 399
26.5.2 編寫View腳本 400
26.5.3 編寫Edit腳本 401
26.5.4 編寫Save腳本 403
26.5.5 嘗試使用 404
26.6 進一步探索 404

第27章 項目8:使用XML-RPC進行文件共享 406
27.1 問題 406
27.2 有用的工具 407
27.3 准備工作 407
27.4 初次實現 408
27.4.1 實現一個簡單的節點 408
27.4.2 嘗試使用首次實現 413
27.5 再次實現 414
27.5.1 創建客戶端界面 414
27.5.2 引發異常 415
27.5.3 驗證文件名 416
27.5.4 嘗試使用再次實現 419
27.6 進一步探索 420

第28章 項目9:文件共享2——GUI版本 421
28.1 問題 421
28.2 有用的工具 421
28.3 准備工作 421
28.4 初次實現 422
28.5 再次實現 424
28.6 進一步探索 427

第29章 項目10:DIY街機游戲 428
29.1 問題 428
29.2 有用的工具 429
29.2.1 pygame 429
29.2.2 pygame.locals 429
29.2.3 pygame.display 430
29.2.4 pygame.font 430
29.2.5 pygame.sprite 430
29.2.6 pygame.mouse 431
29.2.7 pygame.event 431
29.2.8 pygame.image 431
29.3 准備工作 431
29.4 初次實現 432
29.5 再次實現 434
29.6 進一步探索 442

附錄A 簡明版本 443
附錄B Python參考手冊 450
附錄C 在線資源 461
附錄D Python 3.0 464
 

詳細資料

  • ISBN:9787115353528
  • 規格:469頁 / 21 x 14.8 x 1.5 cm / 普通級 / 2-1
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【其他】2024采實電子書全書系:春暖花開‧享閱讀,參展書單書85折起、任選3本79折
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 翦商作者新作79折
  • 針灸匠張寶旬
  • 浪漫小說精選3本72折