Python編程——從計(jì)算思維到編程實(shí)踐
定 價(jià):59 元
- 作者:陳洪濤
- 出版時(shí)間:2022/12/1
- ISBN:9787121439674
- 出 版 社:電子工業(yè)出版社
- 中圖法分類(lèi):TP311.561
- 頁(yè)碼:300
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
對(duì)于怎樣才算是掌握了一門(mén)程序設(shè)計(jì)語(yǔ)言這一命題而言,專(zhuān)業(yè)程序員和普通的程序愛(ài)好者的視角有很大的差異,主要的不同點(diǎn)是專(zhuān)業(yè)程序員必須要全面理解程序設(shè)計(jì)、運(yùn)行背后的機(jī)理,因?yàn)槔斫馍系钠顣?huì)導(dǎo)致程序設(shè)計(jì)或運(yùn)行出現(xiàn)各種問(wèn)題。本書(shū)從程序員的視角出發(fā),講述了Python簡(jiǎn)介、如何學(xué)習(xí)編程、Python程序的構(gòu)成、程序流程的控制、函數(shù)、模塊和包、數(shù)據(jù)類(lèi)型和操作、函數(shù)式編程、文件和文件系統(tǒng)操作、異常處理、面向?qū)ο缶幊、元編程、面向(qū)ο笤O(shè)計(jì)的原則、正則表達(dá)式、調(diào)試和測(cè)試、異步程序等。本書(shū)為抽象的知識(shí)點(diǎn)提供了豐富的代碼實(shí)例,還附帶了完善的微課視頻,采用線上線下結(jié)合的方式,讓讀者學(xué)會(huì)一門(mén)真正有用、能用的程序設(shè)計(jì)語(yǔ)言。 本書(shū)既可作為高等院校計(jì)算機(jī)類(lèi)、管理類(lèi)、統(tǒng)計(jì)類(lèi)等專(zhuān)業(yè)的Python語(yǔ)言課程的教材,也可以供Python語(yǔ)言自學(xué)者或培訓(xùn)機(jī)構(gòu)使用。
陳洪濤,浙江海洋大學(xué)副教授,主編浙江省"十三五”新形態(tài)教材《Python編程》《UI設(shè)計(jì)基礎(chǔ)教程》;曾獲得浙江海洋大學(xué)首屆"超星杯”移動(dòng)教學(xué)大賽一等獎(jiǎng)(2019年)、2019年浙江省本科院校"互聯(lián)網(wǎng)+教學(xué)”優(yōu)秀案例和示范課堂、2019年本科高校省級(jí)"三類(lèi)”一流課程。主持項(xiàng)目:1.浙江省“十三五”新形態(tài)教材《Python編程》2.浙江省科技廳:跨海大橋智能主動(dòng)防撞預(yù)警系統(tǒng)的應(yīng)用研究(2010C31017)3.橫向臨港集裝箱運(yùn)輸企業(yè)可視化運(yùn)輸監(jiān)控系統(tǒng)研發(fā)(技術(shù)開(kāi)發(fā)合同編號(hào)2012-09)4.浙江省教育廳:基于粗糙集的增量學(xué)習(xí)算法研究及應(yīng)用(Y200804747)
第1章 Python簡(jiǎn)介 1
1.1 Python的由來(lái) 1
1.2 Python的特點(diǎn) 1
1.3 Python解釋器 2
1.4 Python程序的集成開(kāi)發(fā)環(huán)境 3
1.4.1 Anaconda安裝 3
1.4.2 Anaconda Navigator 5
1.4.3 Spyder的使用 6
1.4.4 Jupyter Notebook的使用 7
1.5 在命令行中使用Conda 9
1.5.1 將安裝包的源設(shè)置為國(guó)內(nèi)的鏡像站 9
1.5.2 更新Conda的版本 10
1.5.3 和環(huán)境相關(guān)的操作方法 10
1.5.4 用Conda管理包 12
1.5.5 進(jìn)一步了解Conda 13
1.6 本章習(xí)題 13
第2章 如何學(xué)習(xí)編程 14
2.1 編程的困難來(lái)自哪里 14
2.2 某種語(yǔ)言是否優(yōu)于另一種語(yǔ)言 16
2.3 計(jì)算思維在編程中起著重要的作用 18
2.4 如何描述計(jì)算機(jī)上運(yùn)行的算法 20
2.5 本章習(xí)題 22
第3章 Python程序的構(gòu)成 23
3.1 Python程序的構(gòu)成要素 23
3.2 Python的標(biāo)識(shí)符和名稱(chēng)綁定 27
3.2.1 標(biāo)識(shí)符 27
3.2.2 變量類(lèi)型和字面量 28
3.2.3 名稱(chēng)綁定 30
3.3 Python程序的運(yùn)算符和表達(dá)式 31
3.3.1 賦值運(yùn)算符和表達(dá)式 31
3.3.2 算術(shù)運(yùn)算符和表達(dá)式 32
3.3.3 比較運(yùn)算符和關(guān)系表達(dá)式 33
3.3.4 邏輯運(yùn)算符和表達(dá)式 34
3.3.5 成員運(yùn)算符和表達(dá)式 36
3.3.6 位運(yùn)算符和表達(dá)式 37
3.3.7 對(duì)象標(biāo)識(shí)運(yùn)算符和表達(dá)式 38
3.4 運(yùn)算符優(yōu)先級(jí) 38
3.5 輸出格式的控制 39
3.6 一些有用的方法 41
3.7 本章習(xí)題 41
第4章 程序流程的控制 43
4.1 程序流程的三種基本結(jié)構(gòu) 43
4.2 選擇語(yǔ)句 44
4.2.1 單分支 44
4.2.2 雙分支 45
4.2.3 多分支 45
4.2.4 選擇語(yǔ)句嵌套 46
4.2.5 復(fù)合結(jié)構(gòu)的語(yǔ)句縮進(jìn) 47
4.3 循環(huán)語(yǔ)句 48
4.3.1 如何編寫(xiě)循環(huán)程序 48
4.3.2 循環(huán)的中斷 51
4.4 空語(yǔ)句 52
4.5 本章習(xí)題 52
第5章 函數(shù) 54
5.1 函數(shù)的定義和調(diào)用 54
5.2 函數(shù)的參數(shù)傳遞 56
5.2.1 通過(guò)內(nèi)存變化了解參數(shù)傳遞 56
5.2.2 參數(shù)傳遞中的若干情形 59
5.3 遞歸函數(shù) 62
5.4 變量的作用范圍 65
5.5 匿名函數(shù) 67
5.6 函數(shù)標(biāo)注和變量標(biāo)注 68
5.7 文檔字符串 69
5.8 內(nèi)置函數(shù) 70
5.9 本章習(xí)題 71
第6章 模塊和包 73
6.1 模塊和包的作用 73
6.2 導(dǎo)入和使用標(biāo)準(zhǔn)模塊 73
6.2.1 Python如何找到標(biāo)準(zhǔn)模塊文件 74
6.2.2 模塊的加載 75
6.3 名稱(chēng)空間和名稱(chēng)作用域 76
6.4 自定義模塊 78
6.5 包 79
6.6 本章習(xí)題 81
第7章 數(shù)據(jù)類(lèi)型和操作 83
7.1 Python的數(shù)據(jù)類(lèi)型 83
7.2 容器類(lèi)型對(duì)象的創(chuàng)建 84
7.2.1 序列類(lèi)型的創(chuàng)建 84
7.2.2 無(wú)序類(lèi)型的創(chuàng)建 88
7.3 對(duì)序列類(lèi)型對(duì)象的操作 89
7.3.1 序列類(lèi)型對(duì)象元素的引用 89
7.3.2 序列類(lèi)型對(duì)象的切片 90
7.3.3 適用序列的常見(jiàn)運(yùn)算符 93
7.3.4 字符串的編碼和解碼 93
7.3.5 字符串和數(shù)值的轉(zhuǎn)換 94
7.3.6 與序列類(lèi)型對(duì)象相關(guān)的函數(shù) 95
7.3.7 序列類(lèi)型對(duì)象的循環(huán)遍歷 98
7.4 無(wú)序類(lèi)型容器對(duì)象的操作 99
7.4.1 與無(wú)序類(lèi)型容器相關(guān)的函數(shù) 99
7.4.2 無(wú)序類(lèi)型對(duì)象的循環(huán)遍歷 102
7.5 淺拷貝和深拷貝 102
7.6 可迭代和迭代器 104
7.6.1 什么是可迭代和迭代器 104
7.6.2 推導(dǎo)式 106
7.6.3 生成器表達(dá)式 107
7.6.4 生成器 108
7.7 拆包操作符 109
7.8 迭代對(duì)象使得代碼更簡(jiǎn)潔 110
7.9 本章習(xí)題 110
第8章 函數(shù)式編程 113
8.1 函數(shù)式編程的含義 113
8.2 純函數(shù) 114
8.2.1 純函數(shù)的反例 114
8.2.2 純函數(shù)的正例 114
8.3 高階函數(shù) 115
8.4 閉包 116
8.4.1 閉包的含義 116
8.4.2 閉包的應(yīng)用 117
8.4.3 閉包探究 118
8.5 尾遞歸 118
8.6 Python內(nèi)置的高階函數(shù) 120
8.7 本章習(xí)題 122
第9章 文件和文件系統(tǒng)操作 123
9.1 文件和文件系統(tǒng) 123
9.1.1 不同操作系統(tǒng)的一些差異 123
9.1.2 絕對(duì)路徑和相對(duì)路徑 124
9.2 文件操作 125
9.2.1 打開(kāi)文件 125
9.2.2 關(guān)閉文件 127
9.2.3 文件操作的常用函數(shù) 128
9.2.4 文本文件訪問(wèn) 128
9.2.5 二進(jìn)制文件訪問(wèn) 133
9.3 目錄操作 139
9.4 本章習(xí)題 141
第10章 異常處理 142
10.1 程序錯(cuò)誤 142
10.2 異常捕獲 143
10.3 異常的層次關(guān)系 146
10.4 拋出異常和異常的調(diào)用棧追溯 147
10.4.1 拋出異常 147
10.4.2 異常的調(diào)用棧追溯 148
10.5 用戶(hù)自定義異常類(lèi) 149
10.6 本章習(xí)題 151
第11章 面向?qū)ο缶幊?152
11.1 面向?qū)ο蟮南嚓P(guān)概念 152
11.2 類(lèi)的定義示例 155
11.3 實(shí)例生成和成員訪問(wèn)的代碼示例 157
11.4 類(lèi)和對(duì)象在內(nèi)存中的存在 158
11.5 類(lèi)實(shí)例的生成 159
11.6 類(lèi)實(shí)例的銷(xiāo)毀 162
11.7 專(zhuān)用方法 163
11.8 屬性和方法的可訪問(wèn)性 165
11.9 類(lèi)方法和靜態(tài)方法 167
11.10 其他常用裝飾器描述符 171
11.11 運(yùn)算符重載 172
11.12 繼承 173
11.12.1 繼承實(shí)現(xiàn)擴(kuò)展和多態(tài) 173
11.12.2 多繼承 175
11.13 抽象類(lèi) 176
11.13.1 通過(guò)繼承實(shí)現(xiàn)抽象類(lèi) 176
11.13.2 通過(guò)注冊(cè)實(shí)現(xiàn)抽象類(lèi) 177
11.13.3 內(nèi)置抽象基類(lèi) 179
11.14 如何實(shí)現(xiàn)裝飾器 179
11.14.1 實(shí)現(xiàn)用戶(hù)自定義的裝飾器 179
11.14.2 實(shí)現(xiàn)日志輸出的裝飾器 181
11.15 本章習(xí)題 184
第12章 元編程 186
12.1 什么是元類(lèi) 186
12.1.1 type是內(nèi)置函數(shù)還是內(nèi)置類(lèi) 186
12.1.2 元類(lèi)和類(lèi)的關(guān)系 187
12.2 用元類(lèi)創(chuàng)建類(lèi) 189
12.3 元編程示例 193
12.4 本章習(xí)題 195
第13章 面向?qū)ο笤O(shè)計(jì)的原則 197
13.1 面向?qū)ο笤O(shè)計(jì)的原則簡(jiǎn)介 197
13.2 設(shè)計(jì)原則的應(yīng)用 198
13.2.1 起步 198
13.2.2 基于單一職責(zé)的第一次改進(jìn) 199
13.2.3 如何做到擴(kuò)充時(shí)不需要修改 200
13.2.4 什么是Liskov替換 202
13.2.5 為不同的用戶(hù)提供剛好夠用的接口 203
13.3 Tkinter的簡(jiǎn)單介紹 207
13.3.1 圖形用戶(hù)界面的基本元素 207
13.3.2 簡(jiǎn)單的窗口程序 207
13.3.3 用類(lèi)重構(gòu)代碼 210
13.4 面向?qū)ο蟮脑O(shè)計(jì)原則實(shí)例 211
13.4.1 構(gòu)建概念到實(shí)現(xiàn)的層次關(guān)系 212
13.4.2 構(gòu)建自定義的Canvas類(lèi) 214
13.4.3 用戶(hù)界面 217
13.5 本章習(xí)題 217
第14章 正則表達(dá)式 218
14.1 什么是正則表達(dá)式 218
14.2 正則表達(dá)式的主要用途 218
14.2.1 在字符串中查找子串 219
14.2.2 在文本中查找所有字符串 220
14.2.3 分隔字符串 220
14.2.4 替換一部分字符串 221
14.3 把正則表達(dá)式轉(zhuǎn)成模式對(duì)象 221
14.4 正則表達(dá)式的語(yǔ)法規(guī)則 221
14.4.1 元字符 221
14.4.2 轉(zhuǎn)義字符 222
14.5 正則表達(dá)式實(shí)例 223
14.6 可選標(biāo)記參數(shù)的設(shè)置 226
14.7 分組擴(kuò)展 228
14.8 本章習(xí)題 230
第15章 調(diào)試和測(cè)試 231
15.1 調(diào)試和除錯(cuò) 231
15.2 測(cè)試 232
15.2.1 doctest單元測(cè)試模塊的使用方法 233
15.2.2 unittest單元測(cè)試模塊的使用方法 236
15.3 本章習(xí)題 243
第16章 異步程序 244
16.1 進(jìn)程和線程 244
16.2 異步程序和同步程序 246
16.3 并行與并發(fā) 246
16.4 多線程 247
16.4.1 主線程 247
16.4.2 創(chuàng)建和運(yùn)行線程 248
16.4.3 守護(hù)線程 250
16.4.4 線程池 254
16.4.5 使用鎖同步 258
16.4.6 可重入鎖 261
16.4.7 生產(chǎn)者和消費(fèi)者 262
16.4.8 其他同步對(duì)象 267
16.5 多進(jìn)程 267
16.5.1 創(chuàng)建和運(yùn)行多進(jìn)程 267
16.5.2 進(jìn)程間數(shù)據(jù)共享 269
16.5.3 進(jìn)程間通信 272
16.5.4 進(jìn)程同步 275
16.5.5 進(jìn)程池 276
16.6 異步I/O 278
16.6.1 異步程序的調(diào)度方式 278
16.6.2 協(xié)程 279
16.6.3 可等待對(duì)象 282
16.6.4 讓事件循環(huán)調(diào)度多個(gè)協(xié)程 282
16.6.5 多協(xié)程實(shí)現(xiàn)有限狀態(tài)機(jī) 284
16.6.6 多協(xié)程共享數(shù)據(jù) 287
16.6.7 異步HTTP 289
16.7 本章習(xí)題 292