百度雲盤:零基礎學PythonPDF高清完整版免費下載 提取碼:8hb2 內容簡介 Python是目前最流行的動態腳本語言之一。本書由淺入深,全面、系統地介紹了使用Python進行開發的各種知識和技巧。 本書內容包括Python環境的安裝和配置、Python的基本語法、模塊和函數、內置數據結構、字元 ...
提取碼:8hb2
內容簡介
Python是目前最流行的動態腳本語言之一。本書由淺入深,全面、系統地介紹了使用Python進行開發的各種知識和技巧。 本書內容包括Python環境的安裝和配置、Python的基本語法、模塊和函數、內置數據結構、字元串和文件的處理、正則表達式的使用、異常的捕獲和處理、面向對象的語言特性和設計、Python的資料庫編程、Tkinter GUI庫的使用、HTML應用、XML應用、Django網頁開發框架的使用、測試驅動開發模式應用、Python中的進程和線程、Python系統管理、網路編程、Python圖像處理、Python語言的擴展和嵌入以及Windows下Python開發等。為了便於讀者學習,本書每個章節中都提供了詳盡的例子,結合實例講解各個知識點。 本書適合Python愛好者、大中專院校的學生、社會培訓班學生,以及系統管理員、界面開發人員、Web開發人員、網路編程人員等有關人員學習、使用。
目錄
前言第一篇 Python語言基礎
第1章 進入Python的世界 1
1.1 Python的由來 1
1.2 Python的特色 2
1.3 第一個Python程式 3
1.4 搭建開發環境 4
1.4.1 Python的下載和安裝 4
1.4.2 互動式命令行的使用 5
1.5 Python的開發工具 5
1.5.1 PyCharm的使用 6
1.5.2 Eclipse IDE的介紹 6
1.5.3 EditPlus編輯器環境的配置 7
1.6 不同平臺下的Python 9
1.7 小結 9
1.8 習題 9
第2章 Python必須知道的基礎語法 10
2.1 Python的文件類型 10
2.1.1 源代碼 10
2.1.2 位元組代碼 10
2.1.3 優化代碼 11
2.2 Python的編碼規範 11
2.2.1 命名規則 11
2.2.2 代碼縮進與冒號 13
2.2.3 模塊導入的規範 15
2.2.4 使用空行分隔代碼 16
2.2.5 正確的註釋 16
2.2.6 語句的分隔 19
2.3 變數和常量 20
2.3.1 變數的命名 20
2.3.2 變數的賦值 21
2.3.3 局部變數 22
2.3.4 全局變數 23
2.3.5 常量 25
2.4 數據類型 26
2.4.1 數字 26
2.4.2 字元串 27
2.5 運算符與表達式 29
2.5.1 算術運算符和算術表達式 29
2.5.2 關係運算符和關係表達式 30
2.5.3 邏輯運算符和邏輯表達式 31
2.6 小結 32
2.7 習題 32
第3章 Python的控制語句 33
3.1 結構化程式設計 33
3.2 條件判斷語句 34
3.2.1 if條件語句 34
3.2.2 if…elif…else判斷語句 35
3.2.3 if語句也可以嵌套 36
3.2.4 switch語句的替代方案 37
3.3 迴圈語句 40
3.3.1 while迴圈 40
3.3.2 for迴圈 41
3.3.3 break和continue語句 42
3.4 結構化程式示例 44
3.5 小結 46
3.6 習題 46
第4章 Python數據結構 47
4.1 元組結構 47
4.1.1 元組的創建 47
4.1.2 元組的訪問 48
4.1.3 元組的遍歷 50
4.2 列表結構 51
4.2.1 列表的創建 51
4.2.2 列表的使用 53
4.2.3 列表的查找、排序、反轉 54
4.2.4 列表實現堆棧和隊列 55
4.3 字典結構 57
4.3.1 字典的創建 57
4.3.2 字典的訪問 58
4.3.3 字典的方法 60
4.3.4 字典的排序、複製 63
4.3.5 全局字典——sys.modules模塊 64
4.4 序列 65
4.5 小結 67
4.6 習題 67
第5章 模塊與函數 68
5.1 Python程式的結構 68
5.2 模塊 69
5.2.1 模塊的創建 69
5.2.2 模塊的導入 69
5.2.3 模塊的屬性 71
5.2.4 模塊的內置函數 71
5.2.5 自定義包 74
5.3 函數 76
5.3.1 函數的定義 76
5.3.2 函數的參數 77
5.3.3 函數的返回值 80
5.3.4 函數的嵌套 82
5.3.5 遞歸函數 84
5.3.6 lambda函數 85
5.3.7 Generator函數 86
5.4 小結 88
5.5 習題 88
第6章 字元串與正則表達式 89
6.1 常見的字元串操作 89
6.1.1 字元串的格式化 89
6.1.2 字元串的轉義符 91
6.1.3 字元串的合併 93
6.1.4 字元串的截取 94
6.1.5 字元串的比較 95
6.1.6 字元串的反轉 96
6.1.7 字元串的查找和替換 98
6.1.8 字元串與日期的轉換 99
6.2 正則表達式應用 101
6.2.1 正則表達式簡介 101
6.2.2 使用re模塊處理正則表達式 103
6.3 小結 108
6.4 習題 108
第7章 使用Python處理文件 109
7.1 文件的常見操作 109
7.1.1 文件的創建 109
7.1.2 文件的讀取 111
7.1.3 文件的寫入 113
7.1.4 文件的刪除 114
7.1.5 文件的複製 115
7.1.6 文件的重命名 116
7.1.7 文件內容的搜索和替換 117
7.1.8 文件的比較 118
7.1.9 配置文件的訪問 119
7.2 目錄的常見操作 121
7.2.1 創建和刪除目錄 122
7.2.2 目錄的遍歷 122
7.3 文件和流 124
7.3.1 Python的流對象 124
7.3.2 模擬Java的輸入、輸出流 126
7.4 文件處理示例——文件屬性瀏覽程式 127
7.5 小結 128
7.6 習題 128
第8章 面向對象編程 129
8.1 面向對象的概述 129
8.2 類和對象 130
8.2.1 類和對象的區別 130
8.2.2 類的定義 131
8.2.3 對象的創建 131
8.3 屬性和方法 132
8.3.1 類的屬性 132
8.3.2 類的方法 134
8.3.3 內部類的使用 136
8.3.4 __init__方法 137
8.3.5 __del__方法 138
8.3.6 垃圾回收機制 139
8.3.7 類的內置方法 140
8.3.8 方法的動態特性 144
8.4 繼承 145
8.4.1 使用繼承 145
8.4.2 抽象基類 147
8.4.3 多態性 148
8.4.4 多重繼承 149
8.4.5 Mixin機制 150
8.5 運算符的重載 152
8.6 Python與設計模式 154
8.6.1 設計模式簡介 154
8.6.2 設計模式示例——Python實現工廠方法 155
8.7 小結 156
8.8 習題 156
第9章 異常處理與程式調試 157
9.1 異常的處理 157
9.1.1 Python中的異常 157
9.1.2 try…except的使用 158
9.1.3 try…finally的使用 160
9.1.4 使用raise拋出異常 161
9.1.5 自定義異常 161
9.1.6 assert語句的使用 162
9.1.7 異常信息 163
9.2 使用自帶IDLE調試程式 164
9.3 使用Easy Eclipse for Python調試程式 165
9.3.1 新建工程 166
9.3.2 配置調試 167
9.3.3 設置斷點 168
9.4 小結 170
9.5 習題 170
第10章 Python 資料庫編程 171
10.1 Python環境下的資料庫編程 171
10.1.1 通過ODBC訪問資料庫 171
10.1.2 使用DAO對象訪問資料庫 173
10.1.3 使用ActiveX Data Object訪問資料庫 174
10.1.4 Python連接資料庫的專用模塊 176
10.2 使用Python的持久化模塊讀寫數據 179
10.3 嵌入式資料庫SQLite 179
10.3.1 SQLite的命令行工具 179
10.3.2 使用sqlite3模塊訪問SQLite資料庫 181
10.4 小結 182
10.5 習題 182
第二篇 Python的GUI程式設計
第11章 Python的GUI開發 183
11.1 Python的GUI開發選擇 183
11.1.1 認識Python內置的GUI庫Tkinter 183
11.1.2 使用Tkinter進行開發 184
11.1.3 認識PyQT GUI庫 186
11.1.4 使用PyQT GUI庫進行開發 187
11.2 小結 188
11.3 習題 188
第12章 GUI編程與Tkinter相關組件介紹 189
12.1 GUI程式開發簡介 189
12.2 Tkinter與主要組件 190
12.2.1 在程式中使用Tkinter 190
12.2.2 頂層視窗 190
12.2.3 標簽 191
12.2.4 框架 191
12.2.5 按鈕 192
12.2.6 輸入框 192
12.2.7 單選按鈕 193
12.2.8 覆選按鈕 193
12.2.9 消息 194
12.2.10 滾動條 194
12.2.11 列表框 195
12.3 Tkinter所有組件簡介 195
12.4 小結 196
12.5 習題 196
第三篇 Python的Web開發
第13章 Python的HTML應用 197
13.1 HTML介紹 197
13.1.1 HTML的歷史 197
13.1.2 SGML、HTML、XHTML、HTML5的關係 198
13.1.3 HTML的標簽 198
13.1.4 HTML的框架組成 199
13.2 URL的處理 200
13.2.1 統一資源定位符URL 200
13.2.2 URL的解析 201
13.2.3 URL的拼合 203
13.2.4 URL的分解 204
13.2.5 URL的編解碼 205
13.2.6 中文的編解碼 207
13.2.7 查詢參數的編碼 208
13.3 CGI的使用 210
13.3.1 CGI介紹 210
13.3.2 獲取CGI環境信息 211
13.3.3 解析用戶的輸入 214
13.4 獲取HTML資源 216
13.4.1 使用urlopen和urlretrieve獲取HTTP資源 217
13.4.2 分析返回資源的相關信息 221
13.4.3 自定義獲取資源方式 223
13.4.4 使用http.client模塊獲取資源 226
13.5 HTML文檔的解析 228
13.6 小結 230
13.7 習題 230
第14章 Python和XML 231
14.1 XML介紹 231
14.1.1 XML的演進歷史 231
14.1.2 XML的優點和限制 232
14.1.3 XML技術的Python支持 233
14.2 XML文檔概覽和驗證 234
14.2.1 XML文檔的基礎概念 234
14.2.2 XML文檔的結構良好性驗證 234
14.2.3 XML文檔的有效性驗證 237
14.3 分析XML文檔結構 239
14.3.1 XML的元素和標簽 239
14.3.2 元素的屬性 242
14.3.3 XML的名字 244
14.3.4 字元實體 245
14.3.5 CDATA段 246
14.3.6 註釋 248
14.3.7 處理指令 248
14.3.8 XML定義 249
14.4 使用SAX處理XML文檔 249
14.4.1 SAX介紹 250
14.4.2 SAX處理的組成部分 250
14.5 使用DOM處理XML文檔 255
14.5.1 DOM介紹 255
14.5.2 xml.dom模塊中的介面操作 256
14.5.3 對XML文檔的操作 264
14.6 小結 269
14.7 習題 270
第15章 Python的Web開發——Django框架的應用 271
15.1 常見的Web開發框架 271
15.1.1 Zope 271
15.1.2 TurboGears 273
15.1.3 Django 273
15.1.4 其他Web開發框架 274
15.1.5 根據自身所需選擇合適的開發框架 275
15.2 MVC模式 275
15.2.1 MVC模式介紹 275
15.2.2 MVC模式的優缺點 276
15.2.3 Django框架中的MVC 277
15.3 Django開發環境的搭建 277
15.3.1 Django框架的安裝 277
15.3.2 資料庫的配置 278
15.4 Django框架的應用 279
15.4.1 Web應用的創建 279
15.4.2 Django中的開發伺服器 280
15.4.3 創建資料庫 282
15.4.4 生成Django應用 283
15.4.5 創建數據模型 284
15.4.6 URL設計 285
15.4.7 創建視圖 286
15.4.8 模板系統 287
15.4.9 發佈Django項目 289
15.5 Django框架的高級應用 289
15.5.1 管理界面 290
15.5.2 生成資料庫數據 291
15.5.3 Session功能 292
15.5.4 國際化 295
15.6 小結 296
15.7 習題 296
第四篇 Python其他應用
第16章 敏捷方法學在Python中的應用——測試驅動開發 297
16.1 測試驅動開發 297
16.1.1 測試驅動開發模式 297
16.1.2 TDD的優勢 298
16.1.3 TDD的使用步驟 299
16.2 unittest測試框架 300
16.2.1 unittest模塊介紹 300
16.2.2 構建測試用例 301
16.2.3 構建測試固件 302
16.2.4 組織多個測試用例 304
16.2.5 構建測試套件 305
16.2.6 重構代碼 307
16.2.7 執行測試 308
16.3 使用doctest進行測試 311
16.3.1 doctest模塊介紹 311
16.3.2 構建可執行文檔 312
16.3.3 執行doctest測試 313
16.4 小結 315
16.5 習題 315
第17章 Python中的進程和線程 316
17.1 進程和線程 316
17.1.1 進程和線程的概念 316
17.1.2 Python中對於進程和線程處理的支持 317
17.2 Python下的進程編程 318
17.2.1 進程運行環境 318
17.2.2 創建進程 319
17.2.3 終止進程 320
17.3 使用subprocess模塊管理進程 320
17.3.1 使用Popen類管理進程 321
17.3.2 調用外部系統命令 324
17.3.3 替代其他進程創建函數 324
17.4 進程間的信號機制 325
17.4.1 信號的處理 325
17.4.2 信號使用的規則 327
17.5 多線程概述 328
17.5.1 什麼是多線程 328
17.5.2 線程的狀態 328
17.5.3 Python中的線程支持 329
17.6 生成和終止線程 329
17.6.1 使用_thread模塊 329
17.6.2 使用threading.Thread類 332
17.7 管理線程 334
17.7.1 線程狀態轉移 334
17.7.2 主線程對子線程的控制 334
17.7.3 線程中的局部變數 335
17.8 線程之間的同步 336
17.8.1 臨界資源和臨界區 336
17.8.2 鎖機制 338
17.8.3 條件變數 339
17.8.4 信號量 342
17.8.5 同步隊列 342
17.8.6 線程同步小結 344
17.9 小結 344
17.10 習題 344
第18章 基於Python的系統管理 345
18.1 增強的互動式環境IPython 345
18.1.1 IPython介紹 345
18.1.2 IPython的安裝 346
18.1.3 IPython的啟動 347
18.1.4 IPython的環境配置 348
18.2 和IPython的簡單交互 349
18.2.1 IPython中的輸入和輸出 349
18.2.2 輸出提示符的區別 349
18.2.3 輸出提示符區別的原因 350
18.3 IPython中的magic函數 352
18.3.1 magic函數的使用和構造 352
18.3.2 目錄管理 352
18.3.3 對象信息的收集 356
18.3.4 magic函數小結 359
18.4 IPython適合於系統管理的特點 359
18.4.1 Tab補全 359
18.4.2 歷史記錄功能 361
18.4.3 執行外部系統命令和運行文件 363
18.4.4 對象查看和自省 367
18.4.5 直接編輯代碼 370
18.4.6 設置別名和巨集 371
18.5 使用Python進行文件管理 373
18.5.1 文件的比較 373
18.5.2 文件的歸檔 375
18.5.3 文件的壓縮 377
18.6 使用Python定時執行任務 379
18.6.1 使用休眠功能 379
18.6.2 使用sched模塊來定時執行任務 380
18.7 小結 380
18.8 習題 380
第19章 Python和網路編程 381
19.1 網路模型介紹 381
19.1.1 OSI簡介 381
19.1.2 TCP/IP簡介 382
19.2 Socket應用 383
19.2.1 Socket基礎 383
19.2.2 Socket的工作方式 383
19.3 伺服器端和客戶端通信 384
19.3.1 伺服器端的構建 384
19.3.2 客戶端的構建 389
19.4 非同步通信方式 391
19.4.1 使用Fork方式 391
19.4.2 使用線程方式 392
19.4.3 使用非同步IO方式 393
19.4.4 使用asyncore模塊 397
19.5 Twisted網路框架 399
19.5.1 Twisted框架介紹 400
19.5.2 Twisted框架下伺服器端的實現 400
19.5.3 Twisted框架下伺服器端的其他處理 401
19.6 小結 404
19.7 習題 404
第20章 常見的Python網路應用 405
20.1 使用FTP傳輸文件 405
20.1.1 FTP的工作原理和Python庫支持 405
20.1.2 FTP的登錄和退出 406
20.1.3 FTP的數據傳輸 407
20.2 使用POP3獲取郵件 409
20.2.1 POP3協議介紹 409
20.2.2 poplib模塊的使用 410
20.3 使用SMTP發送郵件 411
20.3.1 SMTP協議介紹 411
20.3.2 smtplib模塊的使用 411
20.4 使用Telnet遠程登錄 413
20.4.1 Telnet協議介紹和Python庫支持 413
20.4.2 telnetlib模塊的使用 413
20.5 使用SNMP管理網路 414
20.5.1 SNMP協議組成 415
20.5.2 PySNMP框架介紹及使用 415
20.6 網路分析 417
20.6.1 網路分析概述 417
20.6.2 使用Scapy在網路中抓包分析 418
20.7 小結 420
20.8 習題 420
第21章 圖像處理 421
21.1 圖像處理相關概念 421
21.1.1 Python下的圖像處理包 421
21.1.2 Pillow支持的圖像文件格式 422
21.1.3 圖像處理中的其他概念 423
21.2 基本的圖像處理 424
21.2.1 圖像的讀寫操作 424
21.2.2 獲取圖像信息 425
21.2.3 圖像文件格式的轉換 427
21.2.4 圖像的裁剪和合成 428
21.2.5 圖像的變換 430
21.3 圖像處理的高級應用 432
21.3.1 圖像的通道操作 432
21.3.2 對圖像的增強 435
21.3.3 Pillow中的內置濾鏡 437
21.4 小結 438
21.5 習題 438
第22章 Python語言的擴展與嵌入 439
22.1 Python語言的擴展 439
22.1.1 Python擴展簡介 439
22.1.2 一個C擴展的例子 440
22.1.3 模塊方法表和初始化函數 441
22.1.4 編譯和測試 442
22.2 Python語言的嵌入 445
22.2.1 Python嵌入簡介 445
22.2.2 一個Python嵌入的例子 445
22.2.3 更好的嵌入 446
22.3 小結 449
22.4 習題 449
第23章 Windows下的Python開發 450
23.1 組件對象模型 450
23.1.1 組件對象模型介紹 450
23.1.2 COM結構 451
23.1.3 COM對象的交互 451
23.2 Python對COM技術的支持 452
23.2.1 Python中的Windows擴展:PyWin32 452
23.2.2 客戶端COM組件 453
23.2.3 實現COM組件 454
23.3 Windows下的常見Python應用 457
23.3.1 對Word的自動訪問 457
23.3.2 對Excel的自動訪問 458
23.3.3 對PowerPoint的自動訪問 460
23.3.4 對Outlook的自動訪問 461
23.4 小結 462
23.5 習題 462