21天學通Python

21天學通Python

《21天學通Python》是2016年1月電子工業出版社出版的圖書,作者是劉凌霞,郝寧波,吳海濤。

內容簡介

《21天學通Python》全面、系統、深入地講解了Python編程基礎語法與高級套用。在講解過程中,通過大量實際操作的實例將Python語言知識全面、系統、深入地呈現給讀者。此外,作者專門為本書錄製了大量的配套教學視頻,讓讀者通過分析實例、運行實例儘快熟悉Python編程,在學習中遇到問題時,也可以作為參考。

《21天學通Python》共分三篇。第一篇介紹Python語言的特點、安裝、語法基礎、程式流程控制、面向過程的編程方法、面向對象的編程方法、程式異常的處理;第二篇介紹了Python語言中的包與模組、疊代器、生成器、裝飾器、上下文管理器等進階語法,同時介紹了使用Python標準庫中的檔案系統處理、圖形化界面編程、正則表達式、網路編程、多進(線)程編程、資料庫編程。此外,還介紹了運用第三方庫的Web網站編程、圖片處理;第三篇通過兩個案例介紹Python的綜合編程技術。

《21天學通Python》在內容上涉及面廣,從基本操作到高級技術及綜合案例,涉及Python語言的基礎語法和編程特性。《21天學通Python》在設計上淺顯易懂、實例豐富,尤其適合廣大編程初學者自學,也適合對Python語言感興趣的愛好者作為參考用書。  

編輯推薦

“21天學編程系列”自2009年1月上市以來一直受到廣大讀者的青睞。該系列中的大部分圖書從一上市就登上了編程類圖書銷售排行榜的前列,很多大、中專院校也將該系列中的一些圖書作為教材使用,目前這些圖書已經多次印刷、改版。可以說,“21天學編程系列”是自2009年以來,國內原創計算機編程圖書最有影響力的品牌之一。

為了使該系列圖書能緊跟技術和教學的發展,更加適合讀者學習和學校教學,我們結合最新技術和讀者的建議,對該系列圖書進行了改版,同時增加了本書——《21天學通Python》。

目錄

第一篇Python 編程基礎

第1章編程與Python.........................................................................................1

1.1什麼是編程........................................................................................................1

1.1.1硬體與軟體...........................................................................................................1

1.1.2程式語言...............................................................................................................2

1.1.3編程與調試...........................................................................................................3

1.2選擇Python的理由...........................................................................................4

1.2.1Python是免費的自由軟體...................................................................................4

1.2.2Python是跨平台的...............................................................................................4

1.2.3Python功能強大...................................................................................................4

1.2.4Python清晰優雅...................................................................................................5

1.3安裝Python........................................................................................................5

1.3.1在Windows下安裝Python..................................................................................6

1.3.2在Linux下安裝Python........................................................................................7

1.4選擇開發工具....................................................................................................9

1.4.1Python自帶開發工具:IDLE..............................................................................9

1.4.2文本編輯器:Emacs.............................................................................................9

1.4.3Python開發工具:PythonWin...........................................................................12

1.5編輯和運行Python程式.................................................................................15

1.5.1你好,Python......................................................................................................15

1.5.2運行程式檔案........................................................................................................................15

1.5.3互動式運行Python.............................................................................................16

1.6小結..................................................................................................................17

1.7本章習題..........................................................................................................17

第2章Python起步...........................................................................................19

2.1Python語法基礎..............................................................................................19

2.1.1縮進分層.............................................................................................................19

2.1.2代碼注釋.............................................................................................................20

2.1.3斷行.....................................................................................................................20

2.2Python輸入/輸出.............................................................................................21

2.2.1接收鍵盤/輸入....................................................................................................21

2.2.2顯示處理結果........................................................................................................................22

2.3用Python計算.................................................................................................22

2.3.1算式與代數式運算..............................................................................................23

2.3.2驚奇.....................................................................................................................24

2.4小結..................................................................................................................25

2.5本章習題..........................................................................................................25

第3章Python數據類型......................................................................................................27

3.1Python簡單數據類型......................................................................................27

3.1.1字元串(str)........................................................................................................................27

3.1.2整數(int).........................................................................................................30

3.1.3浮點數(float)..................................................................................................31

3.1.4類型轉換.............................................................................................................31

3.2字元串進階.....................................................................................................................32

3.2.1原始字元串.........................................................................................................32

3.2.2格式化字元串..............................................................................................................33

3.2.3中文字元串處理..................................................................................................33

3.3標誌符與賦值號..............................................................................................34

3.3.1標誌符.................................................................................................................34

3.3.2“=”.................................................................................................................34

3.4Python結構數據類型......................................................................................35

3.4.1列表(list).........................................................................................................35

3.4.2元組(tuple)........................................................................................................................37

3.4.3字典(dict).......................................................................................................37

3.5內置常量與邏輯運算符、比較運算符..........................................................39

3.5.1常用內置常量.................................................................................................39

3.5.2Python中邏輯運算符.........................................................................................39

3.5.3Python中比較運算符.........................................................................................40

3.5.4Python中其他邏輯操作符.................................................................................40

3.6序列..................................................................................................................41

3.6.1序列切片.............................................................................................................41

3.6.2序列內置操作..............................................................................................42

3.7小結..................................................................................................................43

3.8本章習題..........................................................................................................43

第4章控制語句執行流程.................................................................................45

4.1用if選擇執行語句..........................................................................................45

4.1.1if基礎..................................................................................................................45

4.1.2if語句的嵌套......................................................................................................48

4.2用for循環執行語句.......................................................................................50

4.2.1for基礎................................................................................................................50

4.2.2for語句與break語句、continue語句...............................................................50

4.2.3for語句與range()函式.......................................................................................52

4.2.4for語句與內置疊代函式....................................................................................53

4.3用while循環執行語句...................................................................................54

4.3.1while基礎.............................................................................................................54

4.3.2增量賦值運算符..................................................................................................55

4.4推導或內涵(listcomprehension)................................................................56

4.4.1推導基礎.............................................................................................................56

4.4.2推導進階.............................................................................................................56

4.5小結..................................................................................................................57

4.6本章習題..........................................................................................................57

第5章自定義功能單元(一)..........................................................................59

5.1使用函式..........................................................................................................59

5.1.1聲明函式.............................................................................................................59

5.1.2調用函式.............................................................................................................60

5.2深入函式..........................................................................................................61

5.2.1默認值參數.........................................................................................................61

5.2.2參數傳遞.............................................................................................................63

5.2.3可變數量參數傳遞..............................................................................................63

5.2.4拆解序列的函式調用..........................................................................................66

5.2.5函式調用時參數的傳遞方法..............................................................................66

5.3變數的作用域..................................................................................................68

5.4使用匿名函式(lambda)..............................................................................69

5.5Python常用內建函式......................................................................................70

5.6小結..................................................................................................................71

5.7本章習題..........................................................................................................71

第6章自定義功能單元(二)..........................................................................73

6.1面向對象編程概述..........................................................................................73

6.1.1萬物皆對象.........................................................................................................73

6.1.2對象優越性.........................................................................................................74

6.1.3類和對象.............................................................................................................74

6.2定義和使用類..................................................................................................74

6.2.1定義類.................................................................................................................74

6.2.2使用類.................................................................................................................75

6.3類的屬性和方法..............................................................................................76

6.3.1類的方法.............................................................................................................76

6.3.2類的屬性.............................................................................................................78

6.3.3類成員方法與靜態方法......................................................................................80

6.4類的繼承..........................................................................................................81

6.4.1類的繼承.............................................................................................................81

6.4.2多重繼承.............................................................................................................82

6.4.3方法重載.............................................................................................................84

6.5小結..................................................................................................................84

6.6本章習題..........................................................................................................84

第7章錯誤、異常和程式調試..........................................................................86

7.1語法錯誤..........................................................................................................86

7.2異常的處理......................................................................................................87

7.2.1異常處理的基本語法..........................................................................................87

7.2.2Python主要的內置異常及其處理......................................................................89

7.3手工拋出異常..................................................................................................91

7.3.1用raise手工拋出異常........................................................................................91

7.3.2assert語句...........................................................................................................92

7.3.3自定義異常類.........................................................................................93

7.4用pdb調試程式..............................................................................................94

7.4.1調試語句塊函式..................................................................................................94

7.4.2調試函式.............................................................................................................95

7.5測試程式..........................................................................................................96

7.5.1用testmod函式測試...........................................................................................96

7.5.2用testfile函式測試.............................................................................................97

7.6小結..................................................................................................................98

7.7本章習題..........................................................................................................98

第二篇Python 編程高階

第8章複雜程式組織......................................................................................100

8.1模組................................................................................................................100

8.1.1模組概述...........................................................................................................100

8.1.2自己編寫模組................................................................................................101

8.1.3模組位置...........................................................................................................102

8.1.4__pycache__目錄..............................................................................................103

8.1.5具有獨立運行能力的模組................................................................................103

8.2包....................................................................................................................104

8.2.1包概述...............................................................................................................104

8.2.2包詳解...............................................................................................................105

8.3Python常用標準庫簡介................................................................................106

8.3.1數學類模組.......................................................................................................106

8.3.2日期與時間類.....................................................................................107

8.4小結................................................................................................................107

8.5本章習題........................................................................................................107

第9章疊代器、生成器與裝飾器....................................................................109

9.1疊代器............................................................................................................109

9.1.1疊代器概述.......................................................................................................109

9.1.2自定義疊代器...............................................................................110

9.1.3內置疊代器工具................................................................................................110

9.2生成器............................................................................................................113

9.2.1生成器創建.......................................................................................................113

9.2.2深入生成器.......................................................................................................114

9.2.3生成器與協程...............................................................................115

9.3裝飾器............................................................................................................116

9.3.1裝飾器概述.......................................................................................................116

9.3.2裝飾函式...........................................................................................................116

9.3.3裝飾類...............................................................................................................117

9.4小結................................................................................................................118

9.5本章習題........................................................................................................119

第10章Python進階話題..................................................................................................120

10.1函式與命名空間..........................................................................................120

10.2閉包及其套用..............................................................................................121

10.2.1閉包概述.........................................................................................................121

10.2.2閉包與延遲求值..............................................................................................122

10.2.3閉包與泛型函式..............................................................................................122

10.3上下文管理器..............................................................................................123

10.4用字元串操作對象屬性..............................................................................125

10.5用字典構造分支程式..................................................................................126

10.6重載類的特殊方法......................................................................................127

10.7鴨子類型(ducktyping)與多態...............................................................128

10.8小結..............................................................................................................129

10.9本章習題......................................................................................................129

第11章檔案與檔案系統.................................................................................131

11.1檔案操作基礎..............................................................................................131

11.1.1open()函式.......................................................................................................131

11.1.2用fileinput操作檔案......................................................................................133

11.2常用檔案和目錄操作..................................................................................134

11.2.1獲得當前路徑..................................................................................................134

11.2.2獲得目錄中的內容..........................................................................................134

11.2.3創建目錄..........................................................................................................135

11.2.4刪除目錄..........................................................................................................135

11.2.5判斷是否是目錄..............................................................................................135

11.2.6判斷是否為檔案..............................................................................................135

11.2.7遍歷某目錄下的所有檔案和目錄..................................................................136

11.2.8由檔案名稱批量獲取姓名和考號......................................................................136

11.2.9批量檔案重命名..............................................................................................137

11.3編譯為執行檔......................................................................................138

11.3.1用py2exe生成可執行程式............................................................................138

11.3.2用cx_freeze生成執行檔........................................................................139

11.4小結..............................................................................................................141

11.5本章習題......................................................................................................141

第12章基於tkinter的GUI編程....................................................................142

12.1GUI概述......................................................................................................142

12.1.1GUI是什麼.....................................................................................................142

12.1.2Python編寫GUI程式庫................................................................................142

12.2tkinter圖形化庫簡介...................................................................................143

12.2.1創建GUI程式第一步.....................................................................................143

12.2.2創建GUI程式第二步.....................................................................................144

12.3tkinter組件.....................................................................................................................145

12.3.1組件分類.........................................................................................................145

12.3.2布局組件.........................................................................................................145

12.4常用tkinter組件..........................................................................................146

12.4.1按鈕.................................................................................................................146

12.4.2文本框.............................................................................................................148

12.4.3標籤.................................................................................................................149

12.4.4選單.................................................................................................................150

12.4.5單選框和複選框..............................................................................................152

12.4.6繪製圖形.........................................................................................................154

12.5回響操作事件..............................................................................................156

12.5.1事件基礎.........................................................................................................156

12.5.2回響事件.........................................................................................................158

12.6對話框..........................................................................................................160

12.6.1標準對話框.....................................................................................................160

12.6.2自定義對話框..................................................................................................166

12.7小結..............................................................................................................167

12.8本章習題......................................................................................................167

第13章正則表達式........................................................................................169

13.1正則表達式基礎..........................................................................................169

13.1.1正則表達式概述..............................................................................................169

13.1.2正則表達式基本元字元..................................................................................169

13.1.3常用正則表達式..............................................................................................171

13.2re模組..........................................................................................................172

13.2.1正則匹配搜尋函式..........................................................................................172

13.2.2sub()與subn()函式..........................................................................................173

13.2.3split()函式........................................................................................................174

13.2.4正則表達式對象..............................................................................................174

13.3分組匹配與匹配對象使用..........................................................................178

13.3.1分組基礎.........................................................................................................178

13.3.2分組擴展.........................................................................................................178

13.3.3匹配對象與組的使用......................................................................................179

13.3.4匹配對象與索引使用......................................................................................180

13.4正則表達式套用示例..................................................................................181

13.5小結..............................................................................................................183

13.6本章習題......................................................................................................183

第14章網路編程............................................................................................184

14.1網路編程基礎..............................................................................................184

14.1.1什麼是網路.....................................................................................................184

14.1.2網路協定.........................................................................................................184

14.1.3地址與連線埠.....................................................................................................185

14.2套接字的使用..............................................................................................186

14.2.1用socket建立伺服器端程式..........................................................................186

14.2.2用socket建立客戶端程式..............................................................................187

14.2.3用socket建立基於UDP協定的伺服器與客戶端程式................................188

14.2.4用socketserver模組建立伺服器....................................................................190

14.3urllib與http包使用....................................................................................191

14.3.1urllib和http包簡介........................................................................................191

14.3.2用urllib和http包訪問網站...........................................................................194

14.4用poplib與smtplib庫收發郵件................................................................195

14.4.1用poplib檢查郵件.........................................................................................195

14.4.2用smtplib傳送郵件........................................................................................197

14.5用ftplib訪問FTP服務...............................................................................199

14.5.1ftplib模組簡介................................................................................................199

14.5.2使用Python訪問FTP....................................................................................201

14.6小結..............................................................................................................203

14.7本章習題......................................................................................................203

第15章執行緒和進程........................................................................................204

15.1執行緒..............................................................................................................204

15.1.1用threading.Thread直接線上程中運行函式.................................................204

15.1.2通過繼承threading.Thread類來創建執行緒.....................................................205

15.1.3執行緒類Thread使用........................................................................................205

15.2進程..............................................................................................................209

15.2.1進程基礎.........................................................................................................209

15.2.2用Popen類創建進程......................................................................................210

15.3小結..............................................................................................................212

15.4本章習題......................................................................................................212

第16章資料庫編程........................................................................................213

16.1Python資料庫應用程式接口......................................................................213

16.1.1資料庫應用程式接口概述..............................................................................213

16.1.2資料庫游標的使用..........................................................................................214

16.2Python操作SQLite3資料庫......................................................................214

16.2.1SQLite3資料庫簡介.......................................................................................214

16.2.2SQLite3資料庫操作實例...............................................................................215

16.3Python操作MariaDB資料庫.....................................................................217

16.3.1MariaDB資料庫簡介......................................................................................218

16.3.2建立MariaDB資料庫操作環境.....................................................................218

16.3.3MariaDB資料庫操作實例..............................................................................220

16.4Python操作MongoDB資料庫...................................................................222

16.4.1MongoDB資料庫簡介....................................................................................222

16.4.2建立MongoDB資料庫操作環境...................................................................222

16.4.3MongoDB資料庫基礎....................................................................................223

16.4.4MongoDB資料庫操作實例............................................................................226

16.4.5用對象關係映射(ORM)工具操作MongoDB資料庫..............................228

16.5小結..............................................................................................................231

16.6本章習題......................................................................................................231

第17章Web網站編程...................................................................................232

17.1Web網站編程概述......................................................................................232

17.2FlaskWeb框架及其套用............................................................................233

17.2.1FlaskWeb框架簡介........................................................................................233

17.2.2FlaskWeb框架初識........................................................................................233

17.2.3URL裝飾器與URL參數傳遞.......................................................................235

17.2.4GET與POST請求的參數傳遞.....................................................................237

17.2.5使用cookie與session跟蹤客戶....................................................................239

17.2.6使用靜態檔案資源與頁面檔案......................................................................241

17.2.7接收上傳檔案..................................................................................................243

17.2.8Flask框架中使用資料庫................................................................................244

17.3TornadoWeb框架及其套用........................................................................247

17.3.1Tornado框架簡介...........................................................................................247

17.3.2Tornado框架初識...........................................................................................247

17.3.3請求參數的獲取..............................................................................................249

17.3.4用cookie與安全cookie跟蹤客戶.................................................................251

17.3.5URL轉向與靜態檔案資源.............................................................................252

17.3.6TornadoWeb框架套用舉例...........................................................................254

17.4小結..............................................................................................................259

17.5本章習題......................................................................................................259

第18章數據結構基礎....................................................................................261

18.1表、棧和佇列..............................................................................................261

18.1.1用列表來創建表..............................................................................................261

18.1.2自定義棧數據結構..........................................................................................262

18.1.3實現佇列功能..................................................................................................264

18.2樹和圖..........................................................................................................265

18.2.1用列表構建樹..................................................................................................265

18.2.2實現二叉樹類與遍歷二叉樹..........................................................................266

18.2.3用字典構建與搜尋圖......................................................................................269

18.3查找與排序..................................................................................................271

18.3.1實現二分查找..................................................................................................271

18.3.2用二叉樹排序..................................................................................................273

18.4小結..............................................................................................................275

18.5本章習題......................................................................................................275

第19章用Pillow庫處理圖片.........................................................................276

19.1第三方Pillow庫概述..................................................................................276

19.1.1安裝第三方Pillow庫.....................................................................................276

19.1.2Pillow庫簡介..................................................................................................276

19.1.3Pillow庫處理圖像基礎..................................................................................277

19.1.4Image模組中函式的使用...............................................................................278

19.1.5Image模組中Image類的使用.......................................................................281

19.1.6使用ImageChops模組進行圖片合成............................................................286

19.1.7使用ImageEnhance模組增強圖像效果........................................................289

19.1.8使用ImageFilter模組的濾鏡.........................................................................290

19.1.9使用ImageDraw模組畫圖.............................................................................291

19.2使用Pillow庫處理圖片舉例......................................................................292

19.2.1圖片格式轉換..................................................................................................292

19.2.2批量生成縮略圖..............................................................................................294

19.2.3為圖片添加Logo............................................................................................297

19.3小結..............................................................................................................301

19.4本章習題......................................................................................................302

第三篇Python 編程實戰

第20章案例1做一個Windows上的360工具...........................................303

20.1案例背景......................................................................................................303

20.2從創建圖形化界面開始..............................................................................304

20.2.1創建基本圖形化工作界面..............................................................................304

20.2.2回響選單事件..................................................................................................306

20.3清理垃圾檔案..............................................................................................308

20.3.1疊代目錄.........................................................................................................308

20.3.2掃描垃圾檔案..................................................................................................309

20.3.3多執行緒加速.....................................................................................................311

20.3.4掃描所有磁碟..................................................................................................312

20.3.5刪除垃圾檔案..................................................................................................314

20.4搜尋檔案......................................................................................................316

20.4.1搜尋超大檔案..................................................................................................316

20.4.2按名稱搜尋檔案..............................................................................................317

20.5小結..............................................................................................................318

第21章案例2Python搞定大數據..............................................................320

21.1案例背景......................................................................................................320

21.1.1大數據處理方式概述......................................................................................320

21.1.2處理日誌檔案..................................................................................................321

21.1.3要實現的案例目標..........................................................................................322

21.2分割日誌檔案..............................................................................................322

21.3用Map函式處理小檔案.............................................................................324

21.4用Reduce函式歸集數據............................................................................326

21.5小結..............................................................................................................327

作者簡介

本書的作者團隊成員為一線開發工程師、資深編程專家或專業培訓師,在編程開發方面有著豐富的經驗,並已出版過多本相關暢銷書,頗受廣大讀者認可。長期積累的開發實戰經驗,結合對編程入門愛好者需求與特點的深入調查研究,本書的內容結構十分有利於編程愛好者和相關學員快速提高水平。

前言

“21天學編程系列”自2009年1月上市以來一直受到廣大讀者的青睞。該系列中的大部分圖書從一上市就登上了編程類圖書銷售排行榜的前列,很多大、中專院校也將該系列中的一些圖書作為教材使用,目前這些圖書已經多次印刷、改版。可以說,“21天學編程系列”是自2009年以來,國內原創計算機編程圖書最有影響力的品牌之一。

為了使該系列圖書能緊跟技術和教學的發展,更加適合讀者學習和學校教學,我們結合最新技術和讀者的建議,對該系列圖書進行了改版,同時增加了本書——《21天學通Python》。

本書有何特色

1.細緻體貼的講解

為了讓讀者更快地上手,本書特別設計了適合初學者的學習方式,用準確的語言總結概念、用直觀的圖示演示過程、用詳細的注釋解釋代碼、用形象的比方幫助記憶。

知識點介紹:準確、清晰是其顯著特點,一般放在每一節開始的位置,讓零基礎的讀者了解相關概念,順利入門。

範例:書中出現的完整實例,以章節順序編號,便於檢索和循序漸進地學習、實踐,放在每節知識點介紹之後。

示例代碼:與範例編號對應,層次清楚、語句簡潔、注釋豐富,體現了代碼優美的原則,有利於讀者養成良好的代碼編寫習慣。對於大段程式,均在每行代碼前設定編號,便於學習。

運行結果:對範例給出運行結果和對應圖示,幫助讀者更直觀地理解示例代碼。

代碼解析:將範例代碼中的關鍵代碼行逐一解釋,有助於讀者掌握相關概念和知識。

貼心的提示:為了便於讀者閱讀,全書還穿插著一些技巧、提示等小貼士,體例約定

如下。

提示:通常是一些貼心的提醒,讓讀者加深印象,提供建議或者解決問題的方法。

注意:提出學習過程中需要特別注意的一些知識點和內容,或者相關信息。

警告:對操作不當或理解偏差將會造成的災難性後果給出警示,以加深讀者印象。

習題:每章最後提供專門的測試習題,供讀者檢驗所學知識是否牢固掌握。

經作者多年的培訓和授課證明,以上講解方式是最適合初學者學習的方式,讀者按照這種方式學習會非常輕鬆、順利地掌握本書知識。

在本書中,所有的內容是基於Python3.X實現的。

2.實用超值的DVD光碟

為了幫助讀者比較直觀地學習,本書附帶DVD光碟,內容包括多媒體視頻、電子教案(PPT)和實例原始碼等。

多媒體視頻:

本書配有長達近9小時的教學視頻,講解關鍵知識點界面操作和書中的一些綜合練習題。作者親自配音、演示,手把手教會讀者使用。

電子教案(PPT):

本書可以作為高校相關課程的教材或課外輔導書,所以作者特別為本書製作了電子教案(PPT),以方便老師教學使用。

原始碼:

本書附贈實例“原始碼”。

3.提供完善的技術支持

 

相關詞條

相關搜尋

熱門詞條

聯絡我們