Python程序設計基礎案例教程(第2版)
李輝,吳雲華,李麗芬
相關主題
商品描述
"Python語言具有高效率、可移植、可擴展、可嵌入、易於維護等優點,而且Python語法簡潔,代碼高度規範,功能強大且簡單易學,是程序開發人員必學的語言之一。 本書註重基礎、循序漸進、內容豐富、結構合理、思路清晰、語言簡練流暢、示例翔實,系統地講述了Python程序設計開發相關基礎知識。全書共10章,主要內容包括Python概述、Python基本語法、Python的基本流程控制、Python的4種典型序列結構、Python函數與函數式編程、Python文件和數據庫操作、面向對象程序設計、模塊和包、字符串操作與正則表達式應用,以及並發、並行與多任務編程等內容。 為提升學習效果,本書結合實際應用,提供了大量的案例,並配以完善的學習資料和支持服務,包括教學大綱、教學PPT、源代碼、教學視頻、配套軟件等,為讀者帶來全方位的學習體驗。 本書既可作為高等學校計算機相關專業Python程序設計課程的教材,也可作為自學者使用的參考用書,是一本適用於Python程序開發初學者的入門教材。 "
作者簡介
李輝博士是中國農業大學農業大數據實驗室主任,教育部評估中心工程教育專業現場考察專家組成員,中國大數據技術與應用聯盟智庫專家,信息技術新工科產學研聯盟第一屆理事會理事,北京市大數據教學實踐基地負責人;曾獲中國大數據學術創新獎、全國高校人工智能與大數據教學創新獎、校教學成果一等獎;主講“Python語言程序設計”“數據庫原理及應用基礎”等本科生課程;主持教育部新工科項目2項,發表學術論文20多篇,申請軟件著作權10多項,專利3項,主編教材3部被國內眾多院校選用,深受好評。
目錄大綱
目錄
第1章Python概述/1
1.1認識Python語言1
1.1.1計算機與編程語言1
1.1.2Python的發展歷程2
1.1.3Python的特點3
1.1.4Python的應用領域與發展趨勢4
1.2Windows下的Python開發環境5
1.2.1常見的Python開發工具5
1.2.2Python的編程模式6
1.2.3Python開發運行環境安裝7
1.2.4使用IDLE編寫“I Love Python!”10
1.2.5PyCharm的安裝與使用12
1.3Python程序的運行原理20
1.3.1計算機程序的運行方式20
1.3.2Python程序的運行方式20
1.3.3Python的解釋器類型21
1.3.4Python語言的文件類型22
1.4本章小結23
1.5習題23
第2章Python基本語法/24
2.1Python程序設計的基本元素24
2.2Python語法特點26
2.3標識符與變量、常量27
2.3.1標識符與保留字27
2.3.2變量的定義與賦值28
2.3.3常量的定義32
2.4基本數據類型33
2.4.1數值類型33
2.4.2布爾類型34
2.4.3字符串類型35〖1〗Python程序設計基礎案例教程(第2版)目錄〖3〗〖3〗2.4.4NoneType類型37
2.4.5數據類型轉換37
2.4.6對象和引用39
2.5基本輸入/輸出40
2.5.1基於input()函數輸入40
2.5.2基於print()函數輸出41
2.5.3字符串的格式化輸出43
2.6常見的運算符與表達式45
2.6.1運算符與表達式45
2.6.2算術運算符47
2.6.3賦值運算符49
2.6.4關系運算符50
2.6.5邏輯運算符51
2.6.6條件(三目)運算符53
2.6.7位運算符53
2.6.8成員運算符54
2.6.9運算符的優先級54
2.7本章小結55
2.8習題55
第3章Python的基本流程控制/56
3.1基本語句及順序結構56
3.1.1基本語句57
3.1.2順序結構58
3.2選擇結構語句59
3.2.1if語句59
3.2.2ifelse語句60
3.2.3ifelifelse語句61
3.2.4if分支語句嵌套63
3.3循環結構65
3.3.1while循環語句65
3.3.2for語句和內置函數range()67
3.3.3循環語句嵌套69
3.4轉移和中斷語句71
3.4.1break語句71
3.4.2continue語句73
3.4.3pass語句75
3.5whileelse與forelse語句75
3.5.1whileelse語句75
3.5.2forelse語句76
3.6程序的錯誤與異常處理77
3.6.1程序的錯誤與處理77
3.6.2程序的異常與處理77
3.7循環與選擇結構綜合應用案例79
3.8本章小結80
3.9習題80
第4章Python的4種典型序列結構/82
4.1序列82
4.1.1序列概述82
4.1.2序列的基本操作82
4.2列表86
4.2.1列表的創建與刪除86
4.2.2列表元素的訪問與遍歷87
4.2.3列表元素的常用操作(增加、刪除、修改、查找)90
4.2.4列表元素的統計與排序95
4.2.5列表的嵌套97
4.2.6列表的綜合應用97
4.3元組98
4.3.1元組的創建與刪除98
4.3.2元組的常見操作100
4.3.3元組的序列解包102
4.3.4元組與列表的區別及相互轉換102
4.3.5元組的綜合應用103
4.4字典103
4.4.1字典的創建104
4.4.2字典元素的訪問與遍歷106
4.4.3字典元素的常見操作(增加、刪除、修改、查找)107
4.4.4字典的綜合應用109
4.5集合110
4.5.1集合的創建111
4.5.2集合元素的常見操作(增加、刪除、查找)112
4.5.3集合的交集、並集和差集運算113
4.5.4集合的綜合應用113
4.6推導式與生成器推導式114
4.6.1列表推導式114
4.6.2字典推導式116
4.6.3集合推導式117
4.6.4元組的生成器推導式117
4.7綜合應用案例: 實現簡易版開心背單詞系統118
4.8本章小結120
4.9習題120
第5章Python函數與函數式編程/122
5.1函數的定義和調用122
5.1.1內置函數122
5.1.2自定義函數與調用123
5.1.3函數的返回值125
5.1.4函數的嵌套調用126
5.2函數的參數與值傳遞126
5.2.1函數的形參和實參127
5.2.2位置參數128
5.2.3關鍵字參數129
5.2.4默認參數130
5.2.5不定長可變參數130
5.2.6可變參數的裝包與拆包132
5.3變量的作用域133
5.3.1LEGB原則134
5.3.2全局變量和局部變量134
5.4函數嵌套和遞歸函數136
5.4.1函數嵌套136
5.4.2遞歸函數136
5.5函數式編程137
5.5.1匿名函數: lambda138
5.5.2內置高階函數: map()140
5.5.3內置高階函數: reduce()141
5.5.4內置高階函數: filter()142
5.5.5zip()函數143
5.6閉包及其應用143
5.6.1函數的引用143
5.6.2閉包概述144
5.6.3閉包的應用145
5.7裝飾器及其應用145
5.7.1裝飾器的概念145
5.7.2裝飾器的應用146
5.8疊代器及其應用149
5.8.1疊代器的概念149
5.8.2疊代器的應用151
5.9生成器及其應用152
5.9.1生成器的概念152
5.9.2生成器的應用153
5.10綜合案例: 利用函數模擬ATM的業務流程153
5.11本章小結156
5.12習題156
第6章Python文件和數據庫操作/157
6.1文件相關的基本概念157
6.1.1文件與路徑157
6.1.2文件的編碼158
6.1.3文本文件與二進制文件的區別160
6.2文件夾與目錄操作160
6.2.1os.path模塊160
6.2.2獲取與改變工作目錄161
6.2.3目錄與文件操作161
6.2.4文件的重命名和刪除162
6.3文件基本的操作163
6.3.1文件的打開和關閉164
6.3.2文件的讀取與寫入166
6.3.3按行對文件內容讀寫168
6.3.4使用fileinput對象讀取大文件操作169
6.4JSON格式文件及其操作171
6.4.1JSON概述171
6.4.2讀寫JSON文件171
6.4.3數據格式轉化對應表173
6.5Python操作MySQL數據庫174
6.6.1PyMySQL的安裝175
6.5.2PyMySQL操作MYSQL的流程及常用對象175
6.5.3PyMySQL的使用步驟177
6.6綜合案例: 消費賬單數據讀取與修改178
6.7綜合應用案例: 利用文件操作實現會員管理登錄功能模塊179
6.7.1文件類型與數據格式180
6.7.2各功能模塊函數的實現180
6.8本章小結184
6.9習題184
第7章面向對象程序設計/185
7.1面向對象基本概念185
7.2定義類與對象186
7.2.1類的定義187
7.2.2對象的定義187
7.3定義類的成員188
7.3.1屬性的定義188
7.3.2方法的定義191
7.3.3構造方法和析構方法193
7.4封裝195
7.4.1定義與實現私有屬性195
7.4.2get和set兩個方法處理私有屬性196
7.4.3@property裝飾器處理私有屬性196
7.4.4私有方法與公有方法197
7.5繼承198
7.5.1繼承定義與實現198
7.5.2方法重寫200
7.6多態201
7.7綜合應用案例: 會員管理系統設計與實現202
7.7.1系統需求與設計202
7.7.2系統框架實現203
7.7.3管理系統功能實現205
7.7.4主程序模塊定義與實現207
7.8本章小結208
7.9習題208
第8章模塊和包/209
8.1源程序模塊結構209
8.2模塊的定義與使用211
8.2.1模塊的概念211
8.2.2使用import語句導入模塊212
8.2.3使用fromimport語句導入模塊213
8.2.4模塊搜索目錄213
8.2.5模塊內置函數214
8.2.6絕對導入和相對導入216
8.3Python中的包216
8.3.1Python程序的包結構216
8.3.2創建和使用包217
8.4引用其他模塊218
8.4.1第三方模塊的下載與安裝218
8.4.2標準模塊的使用220
8.4.3常見的標準模塊222
8.5日期時間函數223
8.5.1時間函數223
8.5.2日期函數225
8.5.3綜合應用: 日歷系統的設計與實現227
8.6測試及打包229
8.6.1代碼測試229
8.6.2代碼打包229
8.7本章小結230
8.8習題231
第9章字符串操作與正則表達式應用/232
9.1字符串的編碼轉換232
9.1.1字符串的編碼233
9.1.2字符串的解碼233
9.2字符串的常見操作234
9.2.1字符串查找234
9.2.2字符串修改237
9.2.3字符串判斷242
9.2.4字符串的長度計算245
9.2.5字符串的格式化246
9.3正則表達式及常見的基本符號249
9.4re模塊實現正則表達式操作251
9.4.1匹配字符串: match()方法252
9.4.2搜索與替換字符串: sub()與subn()函數254
9.4.3分割字符串: split()函數254
9.4.4搜索字符串: search()、findall()和finditer()函數255
9.4.5編譯標誌257
9.5綜合應用: 利用正則表達式實現自動圖片下載258
9.6本章小結259
9.7習題259
第10章並發、並行與多任務編程/261
10.1並發、並行與多任務261
10.1.1並發261
10.1.2並行261
10.1.3多任務263
10.1.4I/O密集型任務與CPU密集型任務263
10.2進程與線程264
10.2.1進程264
10.2.2線程265
10.2.3進程與線程的區別266
10.2.4全局鎖267
10.3多進程267
10.3.1multiprocessing庫267
10.3.2創建多進程267
10.3.3多進程通信269
10.3.4進程池272
10.4多線程276
10.4.1threading模塊276
10.4.2多線程同步279
10.4.3多線程通信286
10.4.4線程池288
10.5本章小結291
10.6習題291