Python程序設(shè)計(jì)基礎(chǔ)(微課版)
定 價(jià):39.8 元
- 作者:沈涵飛
- 出版時(shí)間:2021/4/1
- ISBN:9787115556738
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.56
- 頁(yè)碼:154
- 紙張:
- 版次:01
- 開本:16開
本書圖文并茂、示例豐富,以“任務(wù)驅(qū)動(dòng)”的方式在實(shí)際應(yīng)用中講解Python的要點(diǎn),并全面地介紹了Python程序設(shè)計(jì)的核心技術(shù)。全書共9章,內(nèi)容分別是:初識(shí)Python、程序設(shè)計(jì)入門、流程控制、字符串、組合數(shù)據(jù)類型、函數(shù)、文件操作、正則表達(dá)式及網(wǎng)絡(luò)爬蟲入門。
(1)本書采用以任務(wù)為導(dǎo)向的編寫模式,按照解決實(shí)際任務(wù)的工作流程,逐步展開,介紹相關(guān)的理論知識(shí)點(diǎn),生成可行的解決方案,最后將任務(wù)落實(shí)在實(shí)現(xiàn)環(huán)節(jié)。全書大部分章節(jié)緊扣任務(wù)需求展開,不堆積知識(shí)點(diǎn),著重于思路的啟發(fā)與解決方案的實(shí)施。
(2)配套網(wǎng)站中的C、C++、Java、Python程序自動(dòng)評(píng)測(cè)系統(tǒng)提供了大量適合初學(xué)者的程序編程練習(xí)。題目按照各個(gè)單元分類,約100題,稱為“百題大戰(zhàn)”。由于Python具備優(yōu)雅的語法和強(qiáng)大的內(nèi)置數(shù)據(jù)結(jié)構(gòu)(列表和字典),因此絕大部分題目?jī)H需要3~5行Python代碼即可完成。
(3)利用互聯(lián)網(wǎng)資源來優(yōu)化學(xué)習(xí)體驗(yàn),本書介紹在云端米筐Notebook中運(yùn)行Python程序的方法,大大方便了Python程序的開發(fā)。本書還介紹正則表達(dá)式交互式學(xué)習(xí)網(wǎng)站,讀者在網(wǎng)站可以通過闖關(guān)練習(xí)來熟練掌握正則表達(dá)式。
沈涵飛,蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院講師、高級(jí)系統(tǒng)架構(gòu)師,主講課程為C語言程序設(shè)計(jì)、Python程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、人工智能導(dǎo)論等。
第 1章
初識(shí)Python 1
1.1 學(xué)好Python的關(guān)鍵 1
1.2 計(jì)算機(jī)的發(fā)展和程序設(shè)計(jì)語言 2
1.2.1 計(jì)算機(jī)的發(fā)展 2
1.2.2 機(jī)器語言、匯編語言和高級(jí)語言 3
1.2.3 編譯和解釋 4
1.2.4 程序設(shè)計(jì)的開發(fā)效率和執(zhí)行效率 5
1.2.5 常見的程序設(shè)計(jì)語言及其用途 6
1.3 Python概述 7
1.3.1 Python簡(jiǎn)史 7
1.3.2 Python的特點(diǎn) 7
1.3.3 Python的應(yīng)用領(lǐng)域 8
1.3.4 Python 2和Python 3 9
1.4 Python開發(fā)環(huán)境配置 9
1.4.1 使用云端開發(fā)環(huán)境米筐Notebook 10
1.4.2 安裝一站式開發(fā)環(huán)境Anaconda 11
1.4.3 以兩種方式運(yùn)行第 一個(gè)程序:Hello, World! 12
1.5 米筐Notebook的使用 13
1.5.1 米筐Notebook的基本操作 13
1.5.2 Magic命令 * 14
1.5.3 運(yùn)行系統(tǒng)命令 * 15
1.5.4 查看軟件運(yùn)行環(huán)境 * 16
1.5.5 安裝第三方庫(kù) 17
1.6 探索Python:超級(jí)計(jì)算器 17
1.6.1 計(jì)算3的300次方 17
1.6.2 計(jì)算階乘 18
1.6.3 統(tǒng)計(jì)單詞出現(xiàn)的次數(shù) 18
1.7 小結(jié) 19
1.8 習(xí)題 19
第 2章
程序設(shè)計(jì)入門 21
2.1 計(jì)算生態(tài)和模塊編程 21
2.1.1 計(jì)算生態(tài) 21
2.1.2 導(dǎo)入庫(kù)和函數(shù) ★ 22
2.2 結(jié)構(gòu)化程序的框架 23
2.3 Python程序語法元素分析 24
2.3.1 縮進(jìn) ★ 25
2.3.2 關(guān)鍵字 25
2.3.3 標(biāo)識(shí)符 26
2.3.4 變量 26
2.3.5 注釋 27
2.3.6 多行語句 27
2.4 Python的六大核心數(shù)據(jù)類型 28
2.5 可變類型和不可變類型 * 28
2.6 數(shù)字類型和算術(shù)運(yùn)算 29
2.6.1 整數(shù) 30
2.6.2 浮點(diǎn)數(shù) 30
2.6.3 常用算術(shù)運(yùn)算 31
2.7 程序在線評(píng)測(cè)系統(tǒng)及其基本使用 32
2.7.1 程序在線評(píng)測(cè)系統(tǒng) 32
2.7.2 程序在線評(píng)測(cè)系統(tǒng)中的求和問題 32
2.7.3 基本輸入/輸出函數(shù) 33
2.7.4 在線評(píng)測(cè)系統(tǒng)中輸入/輸出的常見用法歸納 34
2.8 小結(jié) 35
2.9 習(xí)題 35
第3章
流程控制 38
3.1 分支結(jié)構(gòu)的3種形式 38
3.1.1 基本結(jié)構(gòu)1:?jiǎn)畏种ЫY(jié)構(gòu) 38
3.1.2 基本結(jié)構(gòu)2:雙分支結(jié)構(gòu) 39
3.1.3 基本結(jié)構(gòu)3:多分支結(jié)構(gòu) 39
3.2 for循環(huán) 41
3.2.1 遍歷容器 41
3.2.2 range函數(shù) 41
3.2.3 最簡(jiǎn)單的循環(huán) 42
3.2.4 計(jì)算1~100之和 43
3.2.5 求水仙花數(shù) 44
3.2.6 多重循環(huán):九九乘法表和水仙花數(shù) 45
3.3 羅塞塔石碑語言學(xué)習(xí)法 46
3.4 while循環(huán)和流程圖 47
3.5 改變循環(huán)執(zhí)行流程: break和continue 48
3.6 程序的異常處理 49
3.6.1 捕獲異!50
3.6.2 拋出異!51
3.7 小結(jié) 52
3.8 習(xí)題 52
第4章
字符串 55
4.1 字符串的基礎(chǔ)知識(shí) 55
4.1.1 字符串界定符:?jiǎn)我?hào)、雙引號(hào)和三重引號(hào) 55
4.1.2 使用反斜杠轉(zhuǎn)義 55
4.1.3 使用 raw字符串抑制轉(zhuǎn)義 56
4.2 序列的索引和切片 ★ 57
4.2.1 序列的索引 57
4.2.2 序列的切片 57
4.2.3 序列的擴(kuò)展切片 58
4.3 字符串的基本操作 59
4.3.1 序列操作 59
4.3.2 常用的字符串方法 60
4.3.3 匹配字符串的前綴和后綴 61
4.3.4 切分和合并字符串 ★ 62
4.4 字符串格式化和輸出語句 63
4.5 中文分詞和jieba庫(kù) * 63
4.6 小結(jié) 65
4.7 習(xí)題 65
第5章
組合數(shù)據(jù)類型 67
5.1 序列、集合和映射 67
5.2 序列的特點(diǎn)和通用操作 67
5.3 列表:批量處理 68
5.3.1 列表的基本用法 68
5.3.2 列表的常用操作 69
5.3.3 列表的遍歷:enumerate和zip 70
5.3.4 列表的兩種排序方法 71
5.3.5 列表的引用和復(fù)制 * 72
5.3.6 列表的操作匯總 72
5.4 元組:不可變、組合 73
5.5 字典:按鍵取值 75
5.5.1 字典的創(chuàng)建和查找 75
5.5.2 字典的遍歷和排序 * 77
5.5.3 字典的嵌套、JSON及pprint庫(kù) * 78
5.5.4 字典的操作匯總 80
5.6 集合:去重 80
5.7 列表生成式 ★ 81
5.8 生成器表達(dá)式和惰性求值 * 83
5.9 小結(jié) 84
5.10 習(xí)題 84
第6章
函數(shù) 88
6.1 認(rèn)識(shí)函數(shù) 88
6.1.1 站在巨人的肩膀上:使用函數(shù)實(shí)現(xiàn)機(jī)器翻譯 88
6.1.2 結(jié)構(gòu)化程序設(shè)計(jì)方法 90
6.1.3 內(nèi)置函數(shù) 91
6.1.4 自定義函數(shù) 91
6.2 函數(shù)的參數(shù) 92
6.2.1 可選參數(shù)和默認(rèn)值 92
6.2.2 位置參數(shù)調(diào)用 93
6.2.3 關(guān)鍵字參數(shù)調(diào)用 93
6.2.4 不定長(zhǎng)參數(shù) 93
6.3 函數(shù)式編程和高階函數(shù) 95
6.4 匿名函數(shù):lambda函數(shù) ★ 96
6.5 常用高階函數(shù) 97
6.5.1 函數(shù)map:映射函數(shù)到序列 97
6.5.2 函數(shù)reduce:歸約計(jì)算 97
6.5.3 函數(shù)filter:過濾序列 98
6.6 遞歸 * 99
6.6.1 遞歸方法和遞歸函數(shù) 99
6.6.2 遞歸入門:斐波那契數(shù)列和計(jì)算嵌套數(shù)字列表中所有數(shù)字之和 99
6.6.3 經(jīng)典問題:漢諾塔問題 100
6.7 變量的作用域 * 101
6.7.1 函數(shù)被調(diào)用次數(shù)的確定 101
6.7.2 斐波那契函數(shù)優(yōu)化1:全局字典 102
6.7.3 斐波那契函數(shù)優(yōu)化2:內(nèi)嵌函數(shù) 102
6.7.4 LEGB原則 103
6.8 小結(jié) 103
6.9 習(xí)題 103
第7章
文件操作 107
7.1 認(rèn)識(shí)文件 107
7.1.1 文本文件和二進(jìn)制文件 107
7.1.2 常用的中文編碼格式 107
7.2 文本文件的讀/寫操作 108
7.2.1 讀取文件全文 109
7.2.2 按行讀取文件 110
7.2.3 實(shí)現(xiàn)文件的編碼格式轉(zhuǎn)換 111
7.2.4 使用with-as語句 111
7.3 處理表格數(shù)據(jù)的3種方法 112
7.4 存儲(chǔ)半結(jié)構(gòu)化數(shù)據(jù):JSON數(shù)據(jù)和pickle數(shù)據(jù) 113
7.5 常用文件模塊os和shutil 113
7.5.1 模塊os和shutil簡(jiǎn)介 114
7.5.2 文件模塊的主要函數(shù) 114
7.5.3 應(yīng)用示例 115
7.6 模塊和庫(kù) * 117
7.6.1 模塊的制作 117
7.6.2 庫(kù)的發(fā)布 118
7.7 小結(jié) 119
7.8 習(xí)題 119
第8章
正則表達(dá)式 * 121
8.1 正則表達(dá)式簡(jiǎn)介 121
8.2 Python中常用的正則函數(shù) 121
8.2.1 正則函數(shù)初步使用 122
8.2.2 查找所有匹配 123
8.2.3 查找第 一個(gè)匹配 124
8.2.4 替換 126
8.3 RegexOne的闖關(guān)游戲 127
8.3.1 闖關(guān):通配符 128
8.3.2 闖關(guān):排除特定字符 128
8.3.3 闖關(guān):重復(fù)次數(shù) 129
8.4 編譯模式re.compile和匹配參數(shù) 129
8.5 小結(jié) 130
8.6 習(xí)題 130
第9章
網(wǎng)絡(luò)爬蟲入門 * 132
9.1 網(wǎng)絡(luò)爬蟲簡(jiǎn)介和基本處理流程 132
9.1.1 什么是網(wǎng)絡(luò)爬蟲 132
9.1.2 使用網(wǎng)絡(luò)爬蟲的法律風(fēng)險(xiǎn) 132
9.1.3 網(wǎng)絡(luò)爬蟲的基本處理流程 133
9.2 實(shí)戰(zhàn):使用pandas庫(kù)獲取2018年中國(guó)企業(yè)500強(qiáng)榜單 134
9.3 使用Requests庫(kù)獲取網(wǎng)頁(yè) 135
9.4 使用Beautiful Soup 4庫(kù)解析網(wǎng)頁(yè) 136
9.4.1 獲取節(jié)點(diǎn)的主要方式 137
9.4.2 從節(jié)點(diǎn)中提取信息 138
9.5 實(shí)戰(zhàn):獲取唐詩(shī)三百首 140
9.6 小結(jié) 142
9.7 習(xí)題 142
附錄
附錄A 全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)Python語言程序設(shè)計(jì)考試大綱 144
附錄B PyCharm 145
附錄C 常用函數(shù)/方法參考 150
附錄D 米筐Notebook支持的模塊列表 152