零基礎(chǔ)學(xué)Python(第2版)
定 價:99 元
- 作者:黃傳祿 張志強 趙越
- 出版時間:2020/6/1
- ISBN:9787111655350
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:0
- 紙張:
- 版次:
- 開本:16開
為了能夠使廣大讀者既能夠掌握Python語言的基礎(chǔ)知識,又能夠?qū)ython語言應(yīng)用于某個特定的領(lǐng)域(如Web開發(fā)),本書介紹與Python相關(guān)的方方面面,為了便于讀者學(xué)習(xí),本書每個章節(jié)都提供了詳盡的例子,結(jié)合實例講解各個知識點。涉及的程序代碼都給出了詳細的注釋,有助于讀者輕松領(lǐng)會程序開發(fā)的精髓,快速提高開發(fā)技能。在學(xué)習(xí)完本書之后,相信讀者能夠很好地掌握Python語言,同時可以使用Python語言進行實際項目的開發(fā)。本書適合Python愛好者、大中專院校的學(xué)生、社會培訓(xùn)班的學(xué)生。
前言
第一篇 Python語言基礎(chǔ)
第1章 進入Python的世界1
1.1 Python的由來1
1.2 Python的特性2
1.3 第一個Python程序3
1.4 搭建開發(fā)環(huán)境4
1.4.1 Python的下載和安裝4
1.4.2 交互式命令行的使用10
1.5 Python的開發(fā)工具11
1.5.1 PyCharm的使用11
1.5.2 Eclipse IDE的介紹13
1.5.3 EditPlus編輯器環(huán)境的配置15
1.6 不同平臺下的Python17
1.7 小結(jié)17
1.8 習(xí)題18
第2章 必須知道的Python基礎(chǔ)語法19
2.1 Python的文件類型19
2.1.1 源代碼19
2.1.2 字節(jié)代碼19
2.1.3 優(yōu)化代碼20
2.2 Python的編碼規(guī)范20
2.2.1 命名規(guī)則20
2.2.2 代碼縮進與冒號23
2.2.3 模塊導(dǎo)入的規(guī)范24
2.2.4 使用空行分隔代碼25
2.2.5 正確的注釋26
2.2.6 語句的分隔28
2.3 變量和常量30
2.3.1 變量的命名30
2.3.2 變量的賦值31
2.3.3 局部變量32
2.3.4 全局變量32
2.3.5 常量34
2.4 數(shù)據(jù)類型35
2.4.1 數(shù)字35
2.4.2 字符串37
2.5 運算符與表達式38
2.5.1 算術(shù)運算符和算術(shù)表達式38
2.5.2 關(guān)系運算符和關(guān)系表達式40
2.5.3 邏輯運算符和邏輯表達式40
2.6 小結(jié)41
2.7 習(xí)題42
第3章 Python的控制語句43
3.1 結(jié)構(gòu)化程序設(shè)計43
3.2 條件判斷語句44
3.2.1 if條件語句44
3.2.2 if…elif…else判斷語句46
3.2.3 if語句也可以嵌套46
3.2.4 switch語句的替代方案48
3.3 循環(huán)語句50
3.3.1 while循環(huán)50
3.3.2 for循環(huán)51
3.3.3 break和continue語句53
3.4 結(jié)構(gòu)化程序示例54
3.5 小結(jié)56
3.6 習(xí)題57
第4章 Python數(shù)據(jù)結(jié)構(gòu)58
4.1 元組結(jié)構(gòu)58
4.1.1 元組的創(chuàng)建58
4.1.2 元組的訪問59
4.1.3 元組的遍歷61
4.2 列表結(jié)構(gòu)62
4.2.1 列表的創(chuàng)建62
4.2.2 列表的使用64
4.2.3 列表的查找、排序、反轉(zhuǎn)65
4.2.4 列表實現(xiàn)堆棧和隊列66
4.3 字典結(jié)構(gòu)68
4.3.1 字典的創(chuàng)建68
4.3.2 字典的訪問69
4.3.3 字典的方法71
4.3.4 字典的排序、復(fù)制74
4.3.5 全局字典——sys.modules模塊76
4.4 序列77
4.5 小結(jié)79
4.6 習(xí)題79
第5章 模塊與函數(shù)80
5.1 Python程序的結(jié)構(gòu)80
5.2 模塊81
5.2.1 模塊的創(chuàng)建81
5.2.2 模塊的導(dǎo)入81
5.2.3 模塊的屬性83
5.2.4 模塊的內(nèi)置函數(shù)83
5.2.5 自定義包86
5.3 函數(shù)88
5.3.1 函數(shù)的定義88
5.3.2 函數(shù)的參數(shù)89
5.3.3 函數(shù)的返回值92
5.3.4 函數(shù)的嵌套95
5.3.5 遞歸函數(shù)97
5.3.6 lambda函數(shù)98
5.3.7 Generator函數(shù)99
5.4 小結(jié)101
5.5 習(xí)題101
第6章 字符串與正則表達式102
6.1 常見的字符串操作102
6.1.1 字符串的格式化102
6.1.2 字符串的轉(zhuǎn)義符104
6.1.3 字符串的合并106
6.1.4 字符串的截取107
6.1.5 字符串的比較108
6.1.6 字符串的反轉(zhuǎn)109
6.1.7 字符串的查找和替換110
6.1.8 字符串與日期的轉(zhuǎn)換112
6.2 正則表達式應(yīng)用113
6.2.1 正則表達式簡介113
6.2.2 使用re模塊處理正則表達式115
6.3 小結(jié)121
6.4 習(xí)題121
第7章 使用Python處理文件122
7.1 文件的常見操作122
7.1.1 文件的創(chuàng)建122
7.1.2 文件的讀取124
7.1.3 文件的寫入126
7.1.4 文件的刪除127
7.1.5 文件的復(fù)制128
7.1.6 文件的重命名129
7.1.7 文件內(nèi)容的搜索和替換130
7.1.8 文件的比較131
7.1.9 配置文件的訪問133
7.2 目錄的常見操作135
7.2.1 創(chuàng)建和刪除目錄135
7.2.2 目錄的遍歷136
7.3 文件處理示例——文件屬性瀏覽程序137
7.4 小結(jié)139
7.5 習(xí)題140
第8章 面向?qū)ο缶幊?41
8.1 面向?qū)ο蟮母攀?41
8.2 類和對象142
8.2.1 類和對象的區(qū)別142
8.2.2 類的定義143
8.2.3 對象的創(chuàng)建143
8.3 屬性和方法144
8.3.1 類的屬性144
8.3.2 類的方法146
8.3.3 內(nèi)部類的使用148
8.3.4 __init__方法149
8.3.5 __del__方法150
8.3.6 垃圾回收機制151
8.3.7 類的內(nèi)置方法152
8.3.8 方法的動態(tài)特性156
8.4 繼承157
8.4.1 使用繼承157
8.4.2 抽象基類159
8.4.3 多態(tài)性160
8.4.4 多重繼承161
8.4.5 Mixin機制163
8.5 運算符的重載164
8.6 Python與設(shè)計模式167
8.6.1 設(shè)計模式簡介167
8.6.2 設(shè)計模式示例——Python實現(xiàn)工廠方法167
8.7 小結(jié)168
8.8 習(xí)題169
第9章 異常處理與程序調(diào)試170
9.1 異常的處理170
9.1.1 Python中的異常170
9.1.2 try…except的使用171
9.1.3 try…finally的使用173
9.1.4 使用raise拋出異常174
9.1.5 自定義異常174
9.1.6 assert語句的使用175
9.1.7 異常信息176
9.2 使用自帶IDLE調(diào)試程序177
9.3 使用Eclipse IDE調(diào)試程序179
9.3.1 新建工程179
9.3.2 配置調(diào)試179
9.3.3 設(shè)置斷點182
9.4 小結(jié)183
9.5 習(xí)題184
第10章 Python數(shù)據(jù)庫編程185
10.1 數(shù)據(jù)庫簡介185
10.2 Python DATABASE API簡介186
10.3 Python連接數(shù)據(jù)庫的專用模塊187
10.3.1 數(shù)據(jù)庫專用模塊的下載與安裝187
10.3.2 Python連接Oracle數(shù)據(jù)庫190
10.3.3 Python 連接MySQL數(shù)據(jù)庫191
10.3.4 Python 連接SQL Server數(shù)據(jù)庫194
10.3.5 Python 連接SQLite數(shù)據(jù)庫196
10.4 使用Python的持久化模塊讀寫數(shù)據(jù)197
10.5 小結(jié)198
10.6 習(xí)題198
第二篇 Python的GUI程序設(shè)計
第11章 Python的GUI開發(fā)199
11.1 Python的GUI開發(fā)選擇199
11.1.1 認識Python內(nèi)置的GUI庫Tkinter199
11.1.2 使用Tkinter進行開發(fā)200
11.1.3 認識PyQT GUI庫203
11.1.4 使用PyQT GUI庫進行開發(fā)203
11.2 小結(jié)204
11.3 習(xí)題204
第12章 GUI編程與Tkinter相關(guān)組件介紹205
12.1 GUI程序開發(fā)簡介205
12.2 Tkinter及其主要組件206
12.2.1 在程序中使用Tkinter206
12.2.2 頂層窗口206
12.2.3 標(biāo)簽207
12.2.4 框架207
12.2.5 按鈕208
12.2.6 輸入框208
12.2.7 單選按鈕209
12.2.8 復(fù)選按鈕209
12.2.9 消息210
12.2.10 滾動條211
12.2.11 列表框211
12.3 Tkinter所有組件簡介212
12.4 小結(jié)212
12.5 習(xí)題213
第三篇 Python的Web開發(fā)
第13章 Python的HTML應(yīng)用215
13.1 HTML介紹215
13.1.1 HTML的歷史215
13.1.2 SGML、HTML、XHTML、HTML5的關(guān)系216
13.1.3 HTML的標(biāo)簽216
13.1.4 HTML的框架組成217
13.2 URL的處理218
13.2.1 統(tǒng)一資源定位符218
13.2.2 URL的解析219
13.2.3 URL的拼合221
13.2.4 URL的分解222
13.2.5 URL的編解碼223
13.2.6 中文的編解碼225
13.2.7 查詢參數(shù)的編碼226
13.3 CGI的使用228
13.3.1 CGI介紹228
13.3.2 獲取CGI環(huán)境信息230
13.3.3 解析用戶的輸入232
13.4 獲取HTML資源235
13.4.1 使用urlopen和urlretrieve獲取HTTP資源235
13.4.2 分析返回資源的相關(guān)信息240
13.4.3 使用http.client模塊獲取資源242
13.5 HTML文檔的解析244
13.6 小結(jié)246
13.7 習(xí)題246
第14章 Python和XML247
14.1 XML介紹247
14.1.1 XML的演進歷史247
14.1.2 XML的優(yōu)點和限制248
14.1.3 XML技術(shù)的Python支持249
14.2 XML文檔概覽和驗證250
14.2.1 XML文檔的基礎(chǔ)概念250
14.2.2 XML文檔的結(jié)構(gòu)良好性驗證251
14.2.3 XML文檔的有效性驗證253
14.3 分析XML文檔結(jié)構(gòu)255
14.3.1 XML的元素和標(biāo)簽256
14.3.2 元素的屬性258
14.3.3 XML的名字259
14.3.4 字符實體261
14.3.5 CDATA段262
14.3.6 注釋264
14.3.7 處理指令265
14.3.8 XML定義266
14.4 使用SAX處理XML文檔266
14.4.1 SAX介紹266
14.4.2 SAX處理的組成部分267
14.5 使用DOM處理XML文檔271
14.5.1 DOM介紹271
14.5.2 xml.dom模塊中的接口操作272
14.5.3 對XML文檔的操作280
14.6 小結(jié)286
14.7 習(xí)題286
第15章 Python的Web開發(fā)——Django框架的應(yīng)用287
15.1 常見的Web開發(fā)框架287
15.2 MVC模式290
15.2.1 MVC模式介紹290
15.2.2 MVC模式的優(yōu)缺點290
15.2.3 Django框架中的MVT291
15.3 Django開發(fā)環(huán)境的搭建292
15.3.1 Django框架的安裝292
15.3.2 數(shù)據(jù)庫的配置293
15.4 Django框架的基本應(yīng)用294
15.4.1 Web應(yīng)用的創(chuàng)建294
15.4.2 Django中的開發(fā)服務(wù)器296
15.4.3 創(chuàng)建數(shù)據(jù)庫297
15.4.4 生成Django應(yīng)用298
15.4.5 創(chuàng)建數(shù)據(jù)模型299
15.4.6 URL設(shè)計300
15.4.7 創(chuàng)建視圖302
15.4.8 模板系統(tǒng)303
15.5 Django框架的高級應(yīng)用305
15.5.1 管理界面305
15.5.2 生成數(shù)據(jù)庫數(shù)據(jù)307
15.5.3 Session功能308
15.6 小結(jié)310
15.7 習(xí)題310
第四篇 Python的其他應(yīng)用
第16章 敏捷方法學(xué)在Python中的應(yīng)用——測試驅(qū)動開發(fā)311
16.1 測試驅(qū)動開發(fā)311
16.1.1 測試驅(qū)動開發(fā)模式311
16.1.2 TDD的優(yōu)勢312
16.1.3 TDD的使用步驟313
16.2 unittest框架314
16.2.1 unittest模塊介紹314
16.2.2 構(gòu)建測試用例315
16.2.3 構(gòu)建測試固件316
16.2.4 組織多個測試用例318
16.2.5 構(gòu)建測試套件319
16.2.6 重構(gòu)代碼321
16.2.7 執(zhí)行測試322
16.3 使用doctest進行測試324
16.3.1 doctest模塊介紹324
16.3.2 構(gòu)建可執(zhí)行文檔325
16.3.3 執(zhí)行doctest測試326
16.4 小結(jié)328
16.5 習(xí)題328
第17章 Python中的進程和線程329
17.1 進程和線程329
17.1.1 進程和線程的概念329
17.1.2 Python中對于進程和線程處理的支持330
17.2 Python下的進程編程331
17.2.1 進程運行環(huán)境331
17.2.2 創(chuàng)建進程332
17.2.3 終止進程333
17.3 使用subprocess模塊管理進程334
17.3.1 使用Popen類管理進程334
17.3.2 調(diào)用外部系統(tǒng)命令337
17.3.3 替代其他進程創(chuàng)建函數(shù)337
17.4 進程間的信號機制338
17.4.1 信號的處理338
17.4.2 信號使用的規(guī)則340
17.5 多線程概述340
17.5.1 什么是多線程341
17.5.2 線程的狀態(tài)341
17.5.3 Python中的線程支持341
17.6 生成和終止線程342
17.6.1 使用_thread模塊342
17.6.2 使用threading.Thread類344
17.7 管理線程346
17.7.1 線程狀態(tài)轉(zhuǎn)移346
17.7.2 主線程對子線程的控制347
17.7.3 線程中的局部變量348
17.8 線程之間的同步349
17.8.1 臨界資源和臨界區(qū)349
17.8.2 鎖機制351
17.8.3 條件變量352
17.8.4 信號量355
17.8.5 同步隊列355
17.8.6 線程同步小結(jié)356
17.9 小結(jié)357
17.10 習(xí)題357
第18章 基于Python的系統(tǒng)管理358
18.1 增強的交互式環(huán)境IPython358
18.1.1 IPython介紹358
18.1.2 IPython的安裝359
18.1.3 IPython的啟動360
18.1.4 IPython的環(huán)境配置360
18.2 和IPython的簡單交互360
18.2.1 IPython中的輸入和輸出360
18.2.2 輸出提示符的區(qū)別361
18.2.3 輸出提示符有區(qū)別的原因362
18.3 IPython中的magic函數(shù)363
18.3.1 magic函數(shù)的使用和構(gòu)造364
18.3.2 目錄管理364
18.3.3 對象信息的收集368
18.3.4 magic函數(shù)小結(jié)370
18.4 IPython適合于系統(tǒng)管理的特點371
18.4.1 Tab補全371
18.4.2 歷史記錄功能372
18.4.3 執(zhí)行外部系統(tǒng)命令和運行文件374
18.4.4 對象查看和自省377
18.4.5 直接編輯代碼379
18.4.6 設(shè)置別名和宏381
18.5 使用Python進行文件管理383
18.5.1 文件的比較383
18.5.2 文件的歸檔384
18.5.3 文件的壓縮387
18.6 使用Python定時執(zhí)行任務(wù)389
18.6.1 使用休眠功能389
18.6.2 使用sched模塊來定時執(zhí)行任務(wù)389
18.7 小結(jié)390
18.8 習(xí)題390
第19章 Python和網(wǎng)絡(luò)編程391
19.1 網(wǎng)絡(luò)模型介紹391
19.1.1 OSI簡介391
19.1.2 TCP/IP簡介392
19.2 Socket應(yīng)用393
19.2.1 Socket基礎(chǔ)393
19.2.2 Socket的工作方式393
19.3 服務(wù)器端和客戶端通信394
19.3.1 服務(wù)器端的構(gòu)建394
19.3.2 客戶端的構(gòu)建399
19.4 異步通信方式400
19.4.1 使用Fork方式400
19.4.2 使用線程方式401
19.4.3 使用異步IO方式402
19.4.4 使用asyncore模塊405
19.5 Twisted網(wǎng)絡(luò)框架408
19.5.1 Twisted框架介紹408
19.5.2 Twisted框架下服務(wù)器端的實現(xiàn)409
19.5.3 Twisted框架下服務(wù)器端的其他處理410
19.6 小結(jié)413
19.7 習(xí)題413
第20章 常見的Python網(wǎng)絡(luò)應(yīng)用414
20.1 使用FTP傳輸文件414
20.1.1 FTP的工作原理和Python庫支持414
20.1.2 FTP的登錄和退出415
20.1.3 FTP的數(shù)據(jù)傳輸416
20.2 使用POP3獲取郵件418
20.2.1 POP3協(xié)議介紹418
20.2.2 poplib模塊的使用419
20.3 使用SMTP發(fā)送郵件420
20.3.1 SMTP協(xié)議介紹420
20.3.2 smtplib模塊的使用420
20.4 使用Telnet遠程登錄422
20.4.1 Telnet協(xié)議介紹和Python庫支持422
20.4.2 telnetlib模塊的使用422
20.5 小結(jié)423
20.6 習(xí)題423
第21章 圖像處理424
21.1 圖像處理相關(guān)概念424
21.1.1 Python下的圖像處理包424
21.1.2 Pillow支持的圖像文件格式425
21.1.3 圖像處理中的其他概念426
21.2 基本的圖像處理427
21.2.1 圖像的讀寫操作427
21.2.2 獲取圖像信息428
21.2.3 圖像文件格式的轉(zhuǎn)換429
21.2.4 圖像的裁剪和合成431
21.2.5 圖像的變換433
21.3 圖像處理的高級應(yīng)用435
21.3.1 圖像的通道操作435
21.3.2 對圖像的增強438
21.3.3 Pillow中的內(nèi)置濾鏡440
21.4 小結(jié)441
21.5 習(xí)題441
第22章 Windows下的Python開發(fā)442
22.1 組件對象模型442
22.1.1 組件對象模型介紹442
22.1.2 COM結(jié)構(gòu)443
22.1.3 COM對象的交互443
22.2 Python對COM技術(shù)的支持444
22.2.1 Python中的Windows擴展:PyWin32444
22.2.2 客戶端COM組件445
22.2.3 實現(xiàn)COM組件446
22.3 Windows下的常見Python應(yīng)用449
22.3.1 對Word的自動訪問449
22.3.2 對Excel的自動訪問451
22.3.3 對PowerPoint的自動訪問452
22.3.4 對Outlook的自動訪問454
22.4 小結(jié)455
22.5 習(xí)題455