Python 3.6零基礎(chǔ)入門(mén)與實(shí)戰(zhàn)
定 價(jià):59 元
叢書(shū)名:高等學(xué)校計(jì)算機(jī)基礎(chǔ)教育教材精選
- 作者:王啟明 羅從良
- 出版時(shí)間:2018/8/1
- ISBN:9787302509301
- 出 版 社:清華大學(xué)出版社
- 中圖法分類(lèi):TP311.561
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:16開(kāi)
隨著大數(shù)據(jù)技術(shù)的發(fā)展及Python在人工智能領(lǐng)域的火熱應(yīng)用,Python得到越來(lái)越多的應(yīng)用。本書(shū)就是在這個(gè)背景下編寫(xiě)的,是一本Python 3.6入門(mén)教材,特別適合想直接切入爬蟲(chóng)編程及大數(shù)據(jù)分析處理的讀者學(xué)習(xí)使用。本書(shū)贈(zèng)送示例源代碼與教學(xué)視頻。
本書(shū)分為16章,主要內(nèi)容包括開(kāi)發(fā)環(huán)境、數(shù)據(jù)結(jié)構(gòu)、函數(shù)、面向?qū)ο、多線程、模塊、包、GUI模塊、圖形模塊、正則模塊、文件處理模塊、網(wǎng)絡(luò)編程模塊和爬蟲(chóng)模塊等,并且為每個(gè)模塊提供了實(shí)戰(zhàn)示例,*后用兩章來(lái)介紹數(shù)據(jù)庫(kù)編程實(shí)戰(zhàn)和爬蟲(chóng)框架實(shí)戰(zhàn)。
本書(shū)內(nèi)容詳盡、示例豐富,適合廣大Python入門(mén)讀者和Python開(kāi)發(fā)人員閱讀,同時(shí)也可作為高等院校和培訓(xùn)學(xué)校計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的師生教學(xué)參考。
Python語(yǔ)言因其具有豐富且強(qiáng)大的庫(kù),以及簡(jiǎn)單容易上手的特性,目前幾乎活躍在所有的技術(shù)領(lǐng)域,包括人工智能、大數(shù)據(jù)分析處理、機(jī)器學(xué)習(xí)與深度學(xué)習(xí)、金融量化交易、網(wǎng)絡(luò)開(kāi)發(fā)、服務(wù)器編程、Web編程、運(yùn)維自動(dòng)化、物聯(lián)網(wǎng)等領(lǐng)域。越來(lái)越多的新人都急切希望找到一本容易上手的Python入門(mén)書(shū)。本書(shū)就能滿足零基礎(chǔ)讀者的Python需求,書(shū)中所有的知識(shí)點(diǎn)都通過(guò)大小示例讓讀者反復(fù)練習(xí),激發(fā)讀者學(xué)習(xí)興趣,快速掌握Python編程技巧,獲得生產(chǎn)力。
前 言
不管你從事的是什么行業(yè),進(jìn)行數(shù)據(jù)分析也好,開(kāi)發(fā)網(wǎng)頁(yè)也好,做數(shù)據(jù)庫(kù)后臺(tái)編程也好,做股票分析也好,Python都是你必須學(xué)會(huì)的一門(mén)語(yǔ)言。市場(chǎng)上有很多圖書(shū),隨Python版本的升級(jí)會(huì)顯得比較舊,講解方式也比較費(fèi)解。本書(shū)選擇比較新的Python 3.6.4版本用初學(xué)者容易上手的示例學(xué)習(xí)方法進(jìn)行講解,全書(shū)邏輯線索清晰,方便讀者輕松入門(mén)。
本書(shū)特色
如何快速學(xué)習(xí)Python編程一直是很多初學(xué)者的疑問(wèn),網(wǎng)上的資料很多,但不系統(tǒng),很多系統(tǒng)的教程又過(guò)于偏重講解,示例較少,讓初學(xué)者很難堅(jiān)持。因此,對(duì)于很多入門(mén)讀者,更好的方式是先學(xué)習(xí)基礎(chǔ)的Python語(yǔ)法,然后學(xué)習(xí)各種常見(jiàn)模塊,最后在實(shí)踐中完善代碼編寫(xiě)技巧。學(xué)習(xí)過(guò)程中貫穿大小示例,方便讀者對(duì)知識(shí)點(diǎn)做實(shí)踐,基于這種想法,筆者編寫(xiě)了本書(shū)。本書(shū)特色如下:
1. 上手門(mén)檻低,完全無(wú)基礎(chǔ)也可入門(mén)
作為入門(mén)圖書(shū),不會(huì)涉及計(jì)算機(jī)原理、操作系統(tǒng)等枯燥內(nèi)容,讀者可以沒(méi)有這方面的基礎(chǔ),本書(shū)提供詳細(xì)的開(kāi)發(fā)環(huán)境搭建步驟及編程技巧講解,手把手指導(dǎo)讀者入門(mén)Python。
2. 多個(gè)操作系統(tǒng)版本介紹,Linux、Windows、MacOS都可以輕松學(xué)習(xí)
當(dāng)前流行的操作系統(tǒng)各異,有些讀者喜歡Linux,有些公司提供MacOS,更多的是常見(jiàn)的Windows,本書(shū)很多案例都會(huì)提供不同操作系統(tǒng)的介紹,讓讀者了解Python的跨平臺(tái)特性,在任何操作系統(tǒng)下都可輕松學(xué)習(xí)。
3. 多個(gè)上手小示例,幾乎每章最后都有應(yīng)用實(shí)戰(zhàn),讓讀者綜合練習(xí),學(xué)完就會(huì)
讀者學(xué)會(huì)了Python語(yǔ)法,只是了解了如何寫(xiě)Python代碼,但是如何用Python解決問(wèn)題卻需要很多項(xiàng)目來(lái)練手。本書(shū)幾乎每章最后都提供或小或大的實(shí)戰(zhàn)案例,讓讀者既學(xué)會(huì)語(yǔ)法也學(xué)會(huì)編程。
代碼、教學(xué)視頻下載
本書(shū)配套的示例代碼與教學(xué)視頻下載地址可以通過(guò)掃描右邊的二維碼獲取。如果下載有問(wèn)題或閱讀中存在疑問(wèn),請(qǐng)聯(lián)系booksaga@163.com,郵件主題為Python3.6零基礎(chǔ)入門(mén)與實(shí)戰(zhàn)。
本書(shū)讀者
本書(shū)適合以下讀者閱讀:
? 沒(méi)有學(xué)過(guò)編程,但對(duì)Python編程感興趣的讀者
? 有計(jì)算機(jī)語(yǔ)言基礎(chǔ),想入門(mén)Python編程的讀者
? Python數(shù)據(jù)分析處理入門(mén)讀者
? 機(jī)器學(xué)習(xí)入門(mén)讀者
? 網(wǎng)絡(luò)爬蟲(chóng)愛(ài)好者
? 初級(jí)網(wǎng)絡(luò)管理員
? 企業(yè)網(wǎng)絡(luò)運(yùn)維人員
本書(shū)作者
本書(shū)由王啟明、羅從良編著,其中第1~8章、第15~16章由平頂山學(xué)院信息工程學(xué)院的王啟明編寫(xiě),第9~14章由羅從良編寫(xiě),其他參與創(chuàng)作的還有王曉華、劉鑫、陳素清、常新峰、林龍、王亞飛、薛燚、王剛、吳貴文、李雷霆、李一鳴、謝志強(qiáng),排名不分先后。
編者
2018年8月
王啟明,平頂山學(xué)院老師,主講軟件基礎(chǔ)語(yǔ)言C和Python,目前是學(xué)校信息化小組的主要帶頭人,計(jì)算機(jī)教研組組長(zhǎng)。長(zhǎng)期工作在教學(xué)第一線,承擔(dān)了本科生教學(xué)及畢業(yè)設(shè)計(jì)任務(wù)。C和Python課收到學(xué)生好評(píng)。
目 錄
第1章 搭建Python開(kāi)發(fā)環(huán)境 1
1.1 Python的版本說(shuō)明 1
1.2 Python的安裝 2
1.2.1 Windows下安裝Python 2
1.2.2 Linux下安裝Python 6
1.3 打開(kāi)Python的方式 8
1.4 交互模式解釋器 9
1.5 第一個(gè)Python程序Hello World 10
1.5.1 交互式 10
1.5.2 腳本式 10
1.6 Python開(kāi)發(fā)工具 11
1.6.1 Python自帶集成開(kāi)發(fā)環(huán)境IDEL 11
1.6.2 安裝PyCharm集成開(kāi)發(fā)環(huán)境 14
1.6.3 使用PyCharm集成開(kāi)發(fā)環(huán)境 21
1.7 注意Python的縮進(jìn) 22
第2章 Python中的數(shù)據(jù)與結(jié)構(gòu) 24
2.1 Python中的標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型 24
2.2 變量 25
2.3 數(shù)字 26
2.3.1 使用整型 26
2.3.2 使用浮點(diǎn)型 27
2.3.3 使用布爾型 28
2.3.4 使用復(fù)數(shù)型 29
2.4 字符串 29
2.4.1 字符串的單引號(hào)、雙引號(hào)、三引號(hào) 29
2.4.2 字符串的截取 30
2.4.3 字符串的拼接 31
2.4.4 字符串的各種常用運(yùn)算符 32
2.4.5 字符串的轉(zhuǎn)義 33
2.4.6 字符串的格式化符號(hào) 34
2.4.7 字符串的內(nèi)置函數(shù) 37
2.5 列表 39
2.5.1 使用列表 39
2.5.2 訪問(wèn)列表 40
2.5.3 列表常用的內(nèi)置函數(shù) 41
2.5.4 列表排序 43
2.5.5 刪除列表 44
2.5.6 獲取列表中的最大值和最小值 45
2.5.7 列表常用運(yùn)算符 45
2.6 元組 46
2.6.1 使用元組 46
2.6.2 訪問(wèn)元組 47
2.6.3 元組常用的內(nèi)置函數(shù) 47
2.6.4 刪除元組 48
2.6.5 獲取元組中的最大值和最小值 48
2.6.6 元組常用運(yùn)算符 48
2.6.7 元組與列表的轉(zhuǎn)換 49
2.7 字典 49
2.7.1 使用字典 49
2.7.2 訪問(wèn)字典 50
2.7.3 字典常用的內(nèi)置函數(shù) 50
2.7.4 刪除字典 52
2.7.5 字典常用運(yùn)算符 53
2.8 集合 53
2.8.1 使用集合 54
2.8.2 集合常用的內(nèi)置函數(shù) 54
2.8.3 集合常用運(yùn)算符(交集、并集、差集、對(duì)稱差集) 56
2.9 推導(dǎo)式 57
2.9.1 初識(shí)推導(dǎo) 57
2.9.2 嵌套推導(dǎo) 58
2.10 數(shù)據(jù)結(jié)構(gòu)實(shí)戰(zhàn):文本統(tǒng)計(jì)分析 59
2.10.1 文本統(tǒng)計(jì)功能 59
2.10.2 文本比較功能 60
第3章 結(jié)構(gòu)語(yǔ)句 62
3.1 順序、選擇和循環(huán) 62
3.1.1 順序結(jié)構(gòu) 62
3.1.2 選擇結(jié)構(gòu) 63
3.1.3 循環(huán)結(jié)構(gòu) 64
3.2 用if選擇 64
3.2.1 選擇語(yǔ)句格式 65
3.2.2 選擇語(yǔ)句詳解 66
3.2.3 選擇語(yǔ)句的嵌套 66
3.3 用while循環(huán) 67
3.3.1 while語(yǔ)句基本格式 67
3.3.2 while語(yǔ)句的應(yīng)用 68
3.3.3 無(wú)限循環(huán)(死循環(huán)) 69
3.3.4 帶else的while循環(huán) 70
3.4 用for循環(huán) 71
3.4.1 for語(yǔ)句基本格式 71
3.4.2 for語(yǔ)句的應(yīng)用 71
3.4.3 for與range結(jié)合遍歷數(shù)字序列 72
3.5 中斷語(yǔ)句break、continue 73
3.5.1 break語(yǔ)句 73
3.5.2 continue語(yǔ)句 74
3.6 循環(huán)實(shí)戰(zhàn):九九乘法表 75
第4章 函數(shù) 77
4.1 使用函數(shù) 77
4.1.1 定義函數(shù) 77
4.1.2 函數(shù)的返回值 78
4.1.3 函數(shù)的嵌套 78
4.2 函數(shù)的參數(shù) 79
4.2.1 形參、實(shí)參 79
4.2.2 必要參數(shù) 79
4.2.3 有默認(rèn)值的參數(shù) 80
4.2.4 關(guān)鍵字參數(shù) 81
4.2.5 不定長(zhǎng)參數(shù)(可變參數(shù)) 82
4.2.6 各種參數(shù)組合 83
4.3 全局變量、局部變量 83
4.3.1 全局和局部的概念 83
4.3.2 函數(shù)中局部變量的作用域 84
4.3.3 global全局變量 84
4.4 匿名函數(shù) 85
4.4.1 使用匿名函數(shù) 85
4.4.2 匿名函數(shù)的參數(shù)默認(rèn)值 86
4.5 函數(shù)實(shí)戰(zhàn):八皇后問(wèn)題 86
第5章 面向?qū)ο缶幊?92
5.1 面向?qū)ο蠡A(chǔ) 92
5.2 定義與使用類(lèi) 93
5.2.1 類(lèi)的定義 93
5.2.2 類(lèi)的構(gòu)造方法和析構(gòu)方法 94
5.2.3 類(lèi)的私有屬性 95
5.2.4 類(lèi)的私有方法 96
5.2.5 一個(gè)完整的類(lèi) 96
5.3 類(lèi)與類(lèi)的關(guān)系 97
5.3.1 單繼承 98
5.3.2 多繼承 99
5.3.3 類(lèi)的關(guān)聯(lián)和依賴 99
5.3.4 類(lèi)的聚合和復(fù)合 101
5.4 重寫(xiě) 102
5.5 魔術(shù)方法 102
5.5.1 魔術(shù)方法的概念 102
5.5.2 魔術(shù)方法的應(yīng)用 103
5.6 迭代器 106
5.7 生成器 107
5.7.1 生成器的概念 107
5.7.2 生成器的應(yīng)用 107
5.8 裝飾器 108
5.8.1 裝飾器基礎(chǔ) 108
5.8.2 不帶參數(shù)的裝飾器 109
5.8.3 帶參數(shù)的裝飾器 110
5.8.4 多個(gè)裝飾器裝飾一個(gè)函數(shù) 111
5.9 上下文管理器與with語(yǔ)句 112
5.9.1 上下文管理器的幾個(gè)概念 112
5.9.2 上下文管理器的應(yīng)用 113
5.9.3 自定義上下文管理器 113
5.10 面向?qū)ο髮?shí)戰(zhàn):數(shù)字圖形 114
5.10.1 需求分析 114
5.10.2 程序開(kāi)發(fā) 118
5.10.3 程序入口 123
第6章 程序異常與調(diào)試 124
6.1 識(shí)別異常 124
6.1.1 異常的概念 124
6.1.2 語(yǔ)法引出的異常 125
6.1.3 運(yùn)行時(shí)引出的異常 125
6.1.4 分析異常提示信息 125
6.2 Python中處理異常的語(yǔ)法 126
6.3 處理異常的細(xì)節(jié) 127
6.3.1 except語(yǔ)句的多種形式 127
6.3.2 拋出異常(引發(fā)異常)raise 130
6.4 自定義異常 130
6.5 調(diào)試程序 131
6.5.1 IDLE的簡(jiǎn)單調(diào)試 131
6.5.2 利用日志模塊logging調(diào)試 132
6.5.3 利用pdb調(diào)試 133
6.6 異常實(shí)戰(zhàn):計(jì)算機(jī)猜數(shù) 135
6.6.1 需求分析 135
6.6.2 算法分析 136
6.6.3 編程實(shí)現(xiàn) 138
6.6.4 異常處理 141
6.6.5 異常類(lèi)定義 141
6.6.6 拋出和捕獲異常 142
第7章 多線程 145
7.1 線程的概念 145
7.2 創(chuàng)建多線程 146
7.2.1 通過(guò)threading.Thread()創(chuàng)建線程 146
7.2.2 通過(guò)繼承threading.Thread類(lèi)創(chuàng)建線程 147
7.3 主 線 程 148
7.4 阻塞線程 149
7.5 判斷線程是否是活動(dòng)的 150
7.6 線程同步 152
7.6.1 同步的概念 152
7.6.2 Python中的鎖 153
7.6.3 Python中的條件鎖 153
第8章 模塊和包 157
8.1 模塊 157
8.1.1 標(biāo)準(zhǔn)庫(kù)中的模塊 157
8.1.2 查看模塊的代碼 158
8.2 導(dǎo)入模塊 160
8.2.1 最簡(jiǎn)單的導(dǎo)入 160
8.2.2 from…import語(yǔ)句 161
8.2.3 from…import *語(yǔ)句 162
8.2.4 導(dǎo)入自定義的模塊 162
8.3 包 163
8.3.1 包和模塊的區(qū)別 163
8.3.2 包的結(jié)構(gòu) 164
8.3.3 導(dǎo)入自定義的包 164
8.4 命名空間 165
8.4.1 命名空間 166
8.4.2 全局命名空間 167
8.4.3 局部命名空間 168
8.4.4 命名空間和類(lèi) 169
8.4.5 命名空間和類(lèi)的實(shí)例化 170
8.4.6 命名空間和類(lèi)的繼承 172
第9章 Tkinter模塊圖形界面編程 174
9.1 Tkinter模塊 174
9.1.1 Tkinter模塊的Hello World 程序 175
9.1.2 tkinter包介紹 177
9.1.3 主窗口 178
9.2 Tkinter控件 179
9.2.1 控件的介紹 179
9.2.2 控件的特性 181
9.2.3 Tkinter幾何管理器 182
9.2.4 Tkinter 事件及回調(diào) 185
9.3 Tkinter實(shí)戰(zhàn) 186
9.3.1 創(chuàng)建主窗口 186
9.3.2 添加菜單欄及菜單選項(xiàng) 186
9.3.3 添加下拉菜單 188
9.3.4 實(shí)現(xiàn)簡(jiǎn)單記事本 190
第10章 re模塊正則表達(dá)式 193
10.1 正則表達(dá)式簡(jiǎn)介 193
10.1.1 正則表達(dá)式概念 193
10.1.2 正則表達(dá)式構(gòu)成 194
10.2 re模塊的簡(jiǎn)單應(yīng)用 196
10.3 常用正則表達(dá)式 199
10.3.1 常用數(shù)字表達(dá)式的校驗(yàn) 200
10.3.2 常用字符表達(dá)式的校驗(yàn) 202
10.3.3 特殊需求表達(dá)式的校驗(yàn) 203
第11章 os模塊與shutil模塊文件處理 206
11.1 os模塊 206
11.1.1 獲取系統(tǒng)類(lèi)型 206
11.1.2 獲取系統(tǒng)環(huán)境 207
11.1.3 執(zhí)行系統(tǒng)命令 208
11.1.4 操作目錄及文件 209
11.2 shutil模塊 214
11.2.1 復(fù)制文件 214
11.2.2 移動(dòng)文件 216
11.2.3 讀取壓縮及歸檔壓縮文件 216
11.2.4 解壓文件 217
11.3 文件處理實(shí)戰(zhàn) 217
第12章 PIL(Pillow)模塊圖像實(shí)戰(zhàn) 220
12.1 Pillow庫(kù)簡(jiǎn)介與安裝 220
12.1.1 Pillow庫(kù)的介紹 221
12.1.2 Pillow庫(kù)的安裝 221
12.2 Image類(lèi)的使用 222
12.2.1 Image類(lèi)的屬性 222
12.2.2 Image類(lèi)的函數(shù) 223
12.3 圖像的基本合成 231
12.3.1 調(diào)用Image.composite接口 231
12.3.2 調(diào)用Image.blend接口 232
12.3.3 調(diào)用Image.paste接口 232
12.4 圖像的變換 233
12.4.1 圖像格式及尺寸變換 233
12.4.2 圖像通道變換 234
12.4.3 圖像幾何變換 235
12.4.4 圖像變換成OpenCV格式 235
12.5 圖像處理實(shí)戰(zhàn) 236
第13章 socket模塊網(wǎng)絡(luò)編程 237
13.1 網(wǎng)絡(luò)編程基礎(chǔ) 237
13.1.1 網(wǎng)絡(luò)協(xié)議 237
13.1.2 IP地址與端口 239
13.1.3 socket 240
13.2 使用TCP的服務(wù)器與客戶端 246
13.2.1 TCP工作原理 246
13.2.2 TCP服務(wù)器的實(shí)現(xiàn) 247
13.2.3 TCP客戶端的實(shí)現(xiàn) 248
13.3 使用UDP的服務(wù)器與客戶端 250
13.3.1 UDP工作原理 251
13.3.2 UDP服務(wù)器的實(shí)現(xiàn) 251
13.3.3 UDP客戶端的實(shí)現(xiàn) 252
13.4 網(wǎng)絡(luò)編程實(shí)戰(zhàn) 253
第14章 urllib工具包網(wǎng)絡(luò)爬蟲(chóng)編程 257
14.1 urllib、urllib2與urllib3的異同 257
14.2 request模塊 259
14.2.1 urlopen()、build_opener()和build_opener()方法 260
14.2.2 Request類(lèi) 263
14.2.3 其他類(lèi) 266
14.3 error模塊 267
14.4 parse模塊 268
14.4.1 URL解析 268
14.4.2 URL轉(zhuǎn)義 271
14.5 robotparser模塊 274
14.6 urllib網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn) 275
第15章 Python數(shù)據(jù)庫(kù)編程實(shí)戰(zhàn) 278
15.1 操作SQLite 278
15.1.1 創(chuàng)建SQLite數(shù)據(jù)庫(kù) 278
15.1.2 創(chuàng)建SQLite數(shù)據(jù)表 279
15.1.3 為數(shù)據(jù)表添加數(shù)據(jù) 280
15.1.4 查詢數(shù)據(jù) 280
15.1.5 更新數(shù)據(jù) 281
15.1.6 刪除數(shù)據(jù) 281
15.1.7 connect和cursor的各種函數(shù) 281
15.2 操作MySQL 282
15.2.1 安裝PyMySQL庫(kù) 282
15.2.2 連接MySQL數(shù)據(jù)庫(kù) 283
15.2.3 增、刪、查、改數(shù)據(jù) 284
15.3 使用ORM框架SQLAlchemy操作MySQL 284
15.3.1 ORM的意義 285
15.3.2 安裝SQLAlchemy 285
15.3.3 導(dǎo)入SQLAlchemy 286
15.3.4 使用SQLAlchemy操作數(shù)據(jù)庫(kù) 286
第16章 Scrapy爬蟲(chóng)實(shí)戰(zhàn) 288
16.1 安裝Scrapy 288
16.1.1 Windows下安裝Scrapy環(huán)境 288
16.1.2 Linux下安裝Scrapy 289
16.1.3 vim編輯器 290
16.2 Scrapy選擇器XPath和CSS 291
16.2.1 XPath選擇器 291
16.2.2 CSS選擇器 294
16.2.3 其他選擇器 295
16.3 天氣預(yù)報(bào)項(xiàng)目 296
16.3.1 項(xiàng)目準(zhǔn)備 296
16.3.2 創(chuàng)建編輯Scrapy爬蟲(chóng) 297
16.3.3 數(shù)據(jù)存儲(chǔ)到j(luò)son 303
16.3.4 數(shù)據(jù)存儲(chǔ)到MySQL 305