本書(shū)知識(shí)體系完整,按照認(rèn)知遞進(jìn)的順序進(jìn)行了編排,主要包括編程環(huán)境、數(shù)據(jù)類(lèi)型、變量與計(jì)算、流程控制、錯(cuò)誤與錯(cuò)誤處理、函數(shù)、面向?qū)ο蟮某绦蛟O(shè)計(jì)、模塊、文件操作、tkinter 圖形界面設(shè)計(jì)及數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)連接操作等內(nèi)容。全書(shū)共12 章,每章都包含詳細(xì)的概念及原理闡述,同時(shí)配有大量精美的插圖、代碼范例和課后習(xí)題。有別于同類(lèi)教材,本書(shū)將自身的角色設(shè)定為陪伴者和對(duì)話(huà)者,讓讀者在學(xué)習(xí)中獲得歸屬感,使學(xué)習(xí)變成一種快樂(lè)。同時(shí),本書(shū)從始至終都非常重視思維模式的養(yǎng)成,力求使讀者獲得利用Python 語(yǔ)言描述問(wèn)題、分析問(wèn)題,最終設(shè)計(jì)并實(shí)現(xiàn)軟件解決方案的能力。
王曉偉,男,生于1985年2月,博士,講師,九三學(xué)社社員。2008年于四川大學(xué)獲得電子商務(wù)專(zhuān)業(yè)學(xué)士學(xué)位,2009年于南安普頓大學(xué)獲得網(wǎng)絡(luò)技術(shù)專(zhuān)業(yè)碩士學(xué)位,2016年于特倫托大學(xué)獲得信息與通信技術(shù)專(zhuān)業(yè)博士學(xué)位。作者具有長(zhǎng)期的海外留學(xué)科研經(jīng)歷,先后圍繞情報(bào)學(xué)主題以第一作者發(fā)表各類(lèi)國(guó)際學(xué)術(shù)論文6篇,其中一篇獲得FOIS國(guó)際會(huì)議準(zhǔn)優(yōu)秀論文獎(jiǎng)。博士期間獲得歐洲學(xué)術(shù)委員會(huì)高級(jí)基金大型基礎(chǔ)科研項(xiàng)目全額獎(jiǎng)學(xué)金,并在該項(xiàng)目中負(fù)責(zé)基礎(chǔ)本體模型構(gòu)建的工作。另外,在海外留學(xué)期間,申請(qǐng)人曾經(jīng)到英國(guó)、意大利、奧地利、德國(guó)、巴西、美國(guó)和法國(guó)等國(guó)家參加各種類(lèi)型的學(xué)術(shù)活動(dòng),與情報(bào)學(xué)學(xué)界的專(zhuān)家學(xué)者建立了長(zhǎng)期穩(wěn)定的合作關(guān)系。 回國(guó)之后,作者又立即投入到國(guó)內(nèi)情報(bào)學(xué)的科研和教學(xué)當(dāng)中。在此期間,作為指導(dǎo)教師指導(dǎo)學(xué)生進(jìn)行情報(bào)學(xué)相關(guān)研究的國(guó)家級(jí)URT項(xiàng)目2項(xiàng)(一項(xiàng)已結(jié)題,一項(xiàng)在研),合作發(fā)表SCI索引期刊論文1篇,第一作者發(fā)表CSSCI索引期刊論文2篇。
目
錄
第1章 緒論 1
1.1 計(jì)算機(jī)程序語(yǔ)言層級(jí)結(jié)構(gòu) 1
1.2 人機(jī)系統(tǒng)結(jié)構(gòu) 4
1.3 Python簡(jiǎn)介 7
1.4 計(jì)算機(jī)發(fā)展簡(jiǎn)史 9
1.4.1 計(jì)算法與計(jì)算輔助工具 9
1.4.2 自動(dòng)計(jì)算機(jī) 11
1.5 小結(jié) 13
1.6 課后思考與練習(xí) 13
第2章 編程環(huán)境 14
2.1 理論模型解釋 14
2.2 Python編程環(huán)境配置 17
2.2.1 安裝包的獲取 18
2.2.2 安裝包的部署 19
2.2.3 編程環(huán)境部署狀態(tài)測(cè)試 21
2.3 IDLE編輯器使用簡(jiǎn)介 22
2.3.1 打開(kāi)IDLE編輯器 22
2.3.2 IDLE提供的基于交互式命令行的編程界面 24
2.3.3 IDLE提供的基于代碼文件的編程界面 24
2.3.4 輸入與輸出指令 29
2.3.5 代碼的注釋方法 31
2.4 課后思考與練習(xí) 32
第3章 數(shù)據(jù)類(lèi)型 33
3.1 數(shù)值類(lèi)型的計(jì)算機(jī)表示原理及其語(yǔ)法基礎(chǔ) 33
3.1.1 整型的內(nèi)存結(jié)構(gòu) 34
3.1.2 浮點(diǎn)型的內(nèi)存結(jié)構(gòu) 35
3.1.3 復(fù)數(shù)型的內(nèi)存結(jié)構(gòu) 37
3.1.4 數(shù)值類(lèi)型的語(yǔ)法表示規(guī)則 37
3.1.5 數(shù)值類(lèi)型之間的轉(zhuǎn)換 38
3.1.6 變量與賦值的簡(jiǎn)單說(shuō)明 39
3.2 字符串類(lèi)型的計(jì)算機(jī)表示原理及其語(yǔ)法基礎(chǔ) 40
3.2.1 字符串類(lèi)型的理論模型 40
3.2.2 對(duì)字符串?dāng)?shù)據(jù)的訪(fǎng)問(wèn) 41
3.2.3 涉及字符串類(lèi)型的類(lèi)型轉(zhuǎn)換 42
3.2.4 涉及字符串類(lèi)型的簡(jiǎn)單函數(shù) 44
3.2.5 轉(zhuǎn)義字符 44
3.2.6 字符串的格式化輸出 46
3.3 布爾類(lèi)型的語(yǔ)法基礎(chǔ) 48
3.4 元組型的語(yǔ)法基礎(chǔ) 49
3.4.1 元組的定義 49
3.4.2 元組的訪(fǎng)問(wèn) 50
3.4.3 元組的簡(jiǎn)單操作 51
3.5 列表型的語(yǔ)法基礎(chǔ) 52
3.5.1 列表的定義 52
3.5.2 列表的訪(fǎng)問(wèn) 52
3.5.3 列表的簡(jiǎn)單操作 53
3.5.4 多維列表簡(jiǎn)介 56
3.6 字典的語(yǔ)法基礎(chǔ) 57
3.6.1 字典的定義 57
3.6.2 字典的訪(fǎng)問(wèn) 57
3.6.3 字典的簡(jiǎn)單操作 58
3.7 集合型的語(yǔ)法基礎(chǔ) 59
3.7.1 集合的定義 59
3.7.2 集合的簡(jiǎn)單操作 60
3.8 課后思考與練習(xí) 61
3.8.1 練習(xí)第1部分—基礎(chǔ)數(shù)據(jù)類(lèi)型練習(xí) 61
3.8.2 練習(xí)第2部分—進(jìn)階數(shù)據(jù)類(lèi)型練習(xí) 63
第4章 變量與計(jì)算 64
4.1 變量的含義 64
4.2 變量的動(dòng)態(tài)屬性 66
4.3 變量的命名 67
4.4 與變量相關(guān)的簡(jiǎn)單函數(shù) 69
4.5 運(yùn)算符和表達(dá)式 70
4.5.1 賦值運(yùn)算符(=) 70
4.5.2 算術(shù)運(yùn)算符 71
4.5.3 邏輯運(yùn)算符 73
4.5.4 比較運(yùn)算符 75
4.5.5 標(biāo)識(shí)運(yùn)算符(is、is not) 76
4.5.6 成員運(yùn)算符(in、not in) 77
4.5.7 表達(dá)式的構(gòu)建與運(yùn)算符優(yōu)先級(jí) 78
4.5.8 其他一些需要注意的情況 79
4.6 課后思考與練習(xí) 81
第5章 流程控制 82
5.1 條件分支 84
5.1.1 單分支(if…) 84
5.1.2 雙分支(if…else…) 85
5.1.3 多分支(if…elif…else…) 86
5.1.4 分支語(yǔ)句的嵌套 88
5.2 循環(huán) 89
5.2.1 while循環(huán) 89
5.2.2 for循環(huán) 92
5.2.3 range()函數(shù)簡(jiǎn)介 93
5.2.4 循環(huán)的嵌套 95
5.2.5 pass占位符 96
5.2.6 continue和break的用法 97
5.2.7 for循環(huán)的列表構(gòu)建方法 99
5.3 課后思考與練習(xí) 99
第6章 錯(cuò)誤與錯(cuò)誤處理 102
6.1 語(yǔ)法錯(cuò)誤 102
6.2 異常錯(cuò)誤 104
6.3 錯(cuò)誤處理 106
6.3.1 try…except語(yǔ)句 107
6.3.2 try…except…else語(yǔ)句 108
6.3.3 try…except…else…finally語(yǔ)句 109
6.3.4 手動(dòng)拋出異常錯(cuò)誤 111
6.4 調(diào)試模式 111
6.4.1 調(diào)試模式的激活 112
6.4.2 通過(guò)調(diào)試模式對(duì)代碼進(jìn)行調(diào)試 113
6.4.3 在代碼中設(shè)置斷點(diǎn) 115
6.5 課后思考與練習(xí) 116
第7章 函數(shù) 117
7.1 函數(shù)的定義與調(diào)用 118
7.1.1 函數(shù)定義與調(diào)用的基本語(yǔ)法 118
7.1.2 返回值的設(shè)定 120
7.1.3 函數(shù)作為對(duì)象的存在 123
7.1.4 帶參數(shù)函數(shù)的定義與調(diào)用 124
7.1.5 匿名函數(shù) 127
7.2 變量作用域、參數(shù)傳遞與參數(shù)類(lèi)型 128
7.2.1 變量作用域 128
7.2.2 參數(shù)傳遞 132
7.2.3 參數(shù)類(lèi)型 136
7.3 內(nèi)建函數(shù) 139
7.3.1 數(shù)學(xué)運(yùn)算函數(shù) 139
7.3.2 字符串函數(shù) 140
7.3.3 列表函數(shù) 143
7.3.4 字典函數(shù) 145
7.3.5 集合函數(shù) 147
7.3.6 其他內(nèi)建函數(shù) 147
7.4 課后思考與練習(xí) 149
第8章 面向?qū)ο蟮某绦蛟O(shè)計(jì) 151
8.1 類(lèi)的簡(jiǎn)單定義和實(shí)例化 153
8.2 構(gòu)造函數(shù)與析構(gòu)函數(shù) 156
8.3 類(lèi)的成員 161
8.4 類(lèi)的繼承 164
8.5 多態(tài) 171
8.6 運(yùn)算符重載 173
8.7 小結(jié) 175
8.8 課后思考與練習(xí) 176
第9章 模塊 178
9.1 模塊的引用 179
9.2 模塊的部署位置及搜索順序 181
9.3 自定義模塊 182
9.4 第三方模塊的管理 184
9.5 常用內(nèi)建模塊 189
9.5.1 math模塊與cmath模塊 189
9.5.2 random模塊 191
9.5.3 time模塊 193
9.5.4 datetime模塊 195
9.6 課后思考與練習(xí) 197
第10章 文件操作 199
10.1 文件系統(tǒng)簡(jiǎn)介 199
10.1.1 內(nèi)存與外存 199
10.1.2 文件編碼形式 200
10.1.3 文件定位方法 202
10.2 文件對(duì)象的基本操作 204
10.2.1 打開(kāi)文件 204
10.2.2 讀取文件內(nèi)容 206
10.2.3 寫(xiě)入文件內(nèi)容 208
10.2.4 關(guān)閉文件 210
10.2.5 文件內(nèi)讀寫(xiě)指針的位置移動(dòng) 212
10.3 文件夾的基本操作 214
10.4 課后思考與練習(xí) 216
第11章 tkinter圖形界面設(shè)計(jì) 219
11.1 窗口的創(chuàng)建 220
11.2 窗口內(nèi)元素的布局 222
11.3 tkinter常用組件 228
11.4 tkinter.Canvas圖形繪制組件 234
11.5 tkinter事件處理 238
11.5.1 事件類(lèi)型 238
11.5.2 事件處理函數(shù)與事件綁定 240
11.6 圖形界面設(shè)計(jì)綜合范例 247
11.6.1 登錄界面開(kāi)發(fā) 247
11.6.2 在畫(huà)布上控制圖片的移動(dòng) 250
11.7 課后思考與練習(xí) 252
第12章 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)連接操作 253
12.1 數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)和數(shù)據(jù)表 254
12.2 在本地部署MySQL數(shù)據(jù)庫(kù)管理系統(tǒng) 256
12.3 數(shù)據(jù)庫(kù)連接操作 257
12.3.1 pymysql第三方模塊配置 257
12.3.2 數(shù)據(jù)庫(kù)連接測(cè)試 257
12.3.3 創(chuàng)建數(shù)據(jù)庫(kù) 260
12.3.4 創(chuàng)建數(shù)據(jù)表 260
12.3.5 向數(shù)據(jù)表內(nèi)插入記錄 262
12.3.6 查詢(xún)記錄 263
12.3.7 修改記錄 264
12.3.8 刪除記錄 265
12.4 課后思考與練習(xí) 265