本書介紹使用Python進行程序設(shè)計的方法及應用。全書共14章,分為3部分。第1部分為基礎(chǔ)篇(第1~5章),主要介紹Python的基礎(chǔ)語法,包括Python概述、Python基本概念、Python控制結(jié)構(gòu)、函數(shù)和Python數(shù)據(jù)結(jié)構(gòu)。第2部分為進階篇(第6~10章),主要介紹Python的一些高級特性和功能,包括模塊、字符串與正則表達式、面向?qū)ο缶幊、異常處理和文件處理。?部分為應用篇(第11~14章),主要介紹Python在某些領(lǐng)域的應用方法,包括使用Python進行GUI開發(fā)、使用Python進行數(shù)據(jù)管理、使用Python進行Web開發(fā)和使用Python進行多任務編程。本書可以作為高等學校計算機程序設(shè)計課程的教材,也可以作為社會各類工程技術(shù)與科研人員的參考書。
北京航空航天大學副教授,軟件學院SAP ERP 咨詢顧問專業(yè)主任,比利時布魯塞爾大學應用科學學院應用信息技術(shù)專業(yè)碩士、經(jīng)濟學院工商管理專業(yè)碩士。具有多年的軟件開發(fā)、項目管理、計算機教學經(jīng)驗。對IT行業(yè)具有較全面的認識。2003至今任北航軟件學院副教授。目前研究領(lǐng)域包括:軟件工程 IT項目管理。
基礎(chǔ)篇
第1章 Python概述2
1.1 Python的簡史2
1.2 Python的語言特點3
1.3 搭建Python開發(fā)環(huán)境4
1.3.1 下載與安裝Python4
1.3.2 Python命令行的使用8
1.4 Python的開發(fā)工具8
1.4.1 IDLE8
1.4.2 PyCharm9
1.4.3 Visual Studio Code10
1.5 Python程序——Hello,World11
1.6 Python的編碼規(guī)范11
1.6.1 命名規(guī)則12
1.6.2 代碼縮進12
1.6.3 使用空行分隔代碼13
1.6.4 語句的分隔13
1.6.5 PEP 8編碼規(guī)范13
小結(jié)13
習題14
第2章 Python基本概念15
2.1 基本數(shù)據(jù)類型15
2.2 變量17
2.2.1 變量的命名17
2.2.2 變量的創(chuàng)建18
2.3 運算符19
2.3.1 算術(shù)運算符19
2.3.2 關(guān)系運算符19
2.3.3 邏輯運算符19
2.3.4 位運算符20
2.3.5 身份運算符21
2.3.6 成員運算符21
2.4 表達式21
2.4.1 算術(shù)表達式21
2.4.2 優(yōu)先級22
2.5 賦值語句22
2.5.1 賦值運算符22
2.5.2 增強型賦值運算符23
2.6 常用的模塊與函數(shù)24
2.6.1 常用的內(nèi)置函數(shù)24
2.6.2 常用的模塊及函數(shù)26
2.7 基本輸出與基本輸入27
2.7.1 基本輸出28
2.7.2 基本輸入28
小結(jié)29
習題30
第3章 Python控制結(jié)構(gòu)32
3.1 3種基本控制結(jié)構(gòu)32
3.2 選擇結(jié)構(gòu)32
3.2.1 單選擇結(jié)構(gòu)——if語句32
3.2.2 雙選擇結(jié)構(gòu)——if-else
語句34
3.2.3 多選擇結(jié)構(gòu)——if-elif-else
語句35
3.2.4 選擇結(jié)構(gòu)的嵌套37
3.3 實例:使用選擇結(jié)構(gòu)進行程序
設(shè)計38
3.3.1 鑒別合法日期38
3.3.2 判斷兩個圓的位置關(guān)系39
3.4 循環(huán)結(jié)構(gòu)43
3.4.1 while循環(huán)43
3.4.2 for循環(huán)45
3.4.3 break語句與continue
語句46
3.4.4 循環(huán)結(jié)構(gòu)的嵌套47
3.5 實例:使用循環(huán)結(jié)構(gòu)進行程序
設(shè)計48
3.5.1 計算質(zhì)數(shù)48
3.5.2 計算π的近似值49
小結(jié)51
習題51
第4章 函數(shù)53
4.1 函數(shù)的定義53
4.2 定義函數(shù)53
4.3 調(diào)用函數(shù)54
4.4 變量的作用域55
4.5 函數(shù)的參數(shù)56
4.5.1 形參與實參56
4.5.2 默認值參數(shù)58
4.5.3 位置參數(shù)與關(guān)鍵字參數(shù)58
4.5.4 可變長度參數(shù)59
4.5.5 函數(shù)注解59
4.6 返回多個值60
4.7 實例:將功能封裝為函數(shù)60
4.7.1 鑒別合法日期61
4.7.2 封裝turtle模塊圖形
函數(shù)62
4.8 遞歸64
4.9 實例:使用遞歸解決問題66
4.9.1 實例:計算斐波那契數(shù)66
4.9.2 實例:解決漢諾塔問題67
4.10 lambda表達式70
4.11 生成器71
4.12 函數(shù)裝飾器72
4.12.1 嵌套函數(shù)72
4.12.2 應用函數(shù)裝飾器73
小結(jié)74
習題74
第5章 Python數(shù)據(jù)結(jié)構(gòu)78
5.1 列表78
5.1.1 列表的基本操作78
5.1.2 列表的函數(shù)81
5.1.3 在函數(shù)中使用列表82
5.1.4 列表的查找84
5.1.5 列表的排序86
5.1.6 多維列表88
5.2 元組90
5.2.1 元組的基本操作90
5.2.2 元組封裝與序列拆封91
5.2.3 元組與列表的比較92
5.3 集合92
5.3.1 集合的基本操作93
5.3.2 子集與超集94
5.3.3 集合運算94
5.3.4 集合與列表的比較96
5.4 字典96
5.4.1 字典的基本操作96
5.4.2 字典的函數(shù)98
5.5 實例:使用數(shù)據(jù)結(jié)構(gòu)進行程序
設(shè)計99
5.5.1 計算質(zhì)數(shù)99
5.5.2 統(tǒng)計詞頻100
小結(jié)101
習題102
進階篇
第6章 模塊106
6.1 創(chuàng)建模塊106
6.2 導入模塊106
6.3 包108
6.3.1 將模塊組織成包108
6.3.2 包內(nèi)導入108
6.3.3 包內(nèi)引用109
6.4 安裝第三方包109
小結(jié)110
習題110
第7章 字符串與正則表達式113
7.1 字符串的基本操作113
7.2 字符串的函數(shù)114
7.3 格式化字符串116
7.4 實例:使用字符串進行程序
設(shè)計118
7.4.1 檢測回文串118
7.4.2 字符串的簡單加密119
7.5 字符編碼123
7.5.1 字符編碼方式123
7.5.2 使用Python處理中文124
7.6 正則表達式125
7.6.1 正則表達式簡介125
7.6.2 使用re模塊處理正則
表達式127
7.7 實例:使用正則表達式進行程序
設(shè)計130
7.7.1 校驗用戶注冊信息
格式130
7.7.2 模擬scanf()函數(shù)131
小結(jié)132
習題133
第8章 面向?qū)ο缶幊?35
8.1 面向?qū)ο蟮母拍?35
8.2 類與對象135
8.2.1 定義一個類135
8.2.2 創(chuàng)建類的對象137
8.2.3 定義私有成員138
8.3 迭代器140
8.4 運算符重載141
8.5 實例:進行面向?qū)ο蟮某绦?
設(shè)計144
8.5.1 Circle類的實現(xiàn)144
8.5.2 Fraction類的實現(xiàn)147
8.6 繼承151
小結(jié)154
習題154
第9章 異常處理158
9.1 異常的概念158
9.2 異常的拋出和捕獲159
9.2.1 使用raise關(guān)鍵字拋出
異常159
9.2.2 使用try-except語句捕獲
異常159
9.2.3 使用else和finally子句處理
異常161
9.3 自定義異常162
9.4 使用斷言162
小結(jié)163
習題163
第10章 文件處理166
10.1 文件的創(chuàng)建與讀寫166
10.1.1 文件的創(chuàng)建與打開166
10.1.2 文件的寫入167
10.1.3 文件的讀取168
10.1.4 設(shè)置文件讀取指針169
10.2 文件操作與目錄操作170
10.2.1 文件操作170
10.2.2 目錄操作171
10.2.3 文件操作與目錄操作的
實例171
10.3 Python的流對象177
10.3.1 標準輸入178
10.3.2 標準輸出178
10.3.3 日志輸出178
10.4 實例:處理文件179
10.4.1 獲取文件屬性179
10.4.2 實例:獲取MP3文件的
元數(shù)據(jù)181
小結(jié)183
習題183
應用篇
第11章 使用Python進行GUI開發(fā)186
11.1 GUI編程186
11.2 Tkinter中的主要組件186
11.2.1 標簽187
11.2.2 框架188
11.2.3 按鈕188
11.2.4 輸入框189
11.2.5 單選按鈕與復選按鈕190
11.2.6 列表框與滾動條192
11.2.7 畫布193
11.2.8 標準對話框195
11.3 實例:使用Tkinter進行GUI
編程——三連棋游戲197
11.3.1 設(shè)計用戶界面197
11.3.2 創(chuàng)建菜單197
11.3.3 創(chuàng)建游戲面板199
11.3.4 連接用戶界面與游戲
邏輯200
小結(jié)206
習題206
第12章 使用Python進行數(shù)據(jù)管理208
12.1 引言208
12.2 數(shù)據(jù)對象的持久化209
12.2.1 使用pickle模塊存取
對象209
12.2.2 使用json模塊進行數(shù)據(jù)序列化與反序列化209
12.2.3 使用shelve模塊隨機訪問對象211
12.3 使用itertools模塊分析和處理
數(shù)據(jù)212
12.3.1 數(shù)據(jù)過濾函數(shù)212
12.3.2 groupby()函數(shù)213
12.4 實例:分析與處理教務信息
數(shù)據(jù)214
12.5 Python中SQLite數(shù)據(jù)庫的
使用215
12.5.1 SQLite數(shù)據(jù)庫216
12.5.2 連接數(shù)據(jù)庫216
12.5.3 創(chuàng)建表217
12.5.4 插入數(shù)據(jù)記錄217
12.5.5 查詢數(shù)據(jù)記錄218
12.5.6 更新和刪除數(shù)據(jù)記錄219
12.5.7 回滾與關(guān)閉數(shù)據(jù)庫219
12.6 實例:封裝MySQL數(shù)據(jù)庫
操作219
小結(jié)221
習題221
第13章 使用Python進行Web開發(fā)223
13.1 Django框架223
13.2 創(chuàng)建項目與模型223
13.2.1 創(chuàng)建項目223
13.2.2 設(shè)置數(shù)據(jù)庫224
13.2.3 啟動服務器225
13.2.4 創(chuàng)建模型225
13.3 構(gòu)建管理頁面228
13.4 構(gòu)建前端頁面233
小結(jié)236
習題236
第14章 使用Python進行多任務
編程238
14.1 進程與線程238
14.1.1 進程238
14.1.2 線程238
14.1.3 串行、并發(fā)與并行239
14.2 Python中的多線程編程240
14.2.1 創(chuàng)建與管理線程240
14.2.2 鎖機制:線程間的同步
問題243
14.2.3 queue模塊:隊列
同步246
14.3 Python中的進程編程249
14.3.1 創(chuàng)建與終止進程249
14.3.2 實例:編寫簡易的
控制臺250
14.3.3 使用subprocess模塊進行
多進程管理251
14.3.4 進程之間的通信252
小結(jié)254
習題254
參考文獻256