《Python從入門到精通(第2版)》從初學(xué)者角度出發(fā),通過通俗易懂的語言、豐富多彩的實例,詳細(xì)介紹了使用Python進(jìn)行程序開發(fā)應(yīng)該掌握的各方面技術(shù)。全書共分23章,包括初識Python、Python語言基礎(chǔ)、運算符與表達(dá)式、流程控制語句、列表和元組、字典和集合、字符串、Python中使用正則表達(dá)式、函數(shù)、面向?qū)ο蟪绦蛟O(shè)計、模塊、異常處理及程序調(diào)試、文件及目錄操作、操作數(shù)據(jù)庫、GUI界面編程、Pygame游戲編程、網(wǎng)絡(luò)爬蟲開發(fā)、使用進(jìn)程和線程、網(wǎng)絡(luò)編程、Web編程、Flask框架、e起去旅行網(wǎng)站、AI圖像識別工具等內(nèi)容。所有知識都結(jié)合具體實例進(jìn)行介紹,涉及的程序代碼都給出了詳細(xì)的注釋,讀者可輕松領(lǐng)會Python程序開發(fā)的精髓,快速提升開發(fā)技能。除此之外,該書還附配了243集高清教學(xué)微視頻及PPT電子教案。
《Python從入門到精通(第2版)》可作為軟件開發(fā)入門者的學(xué)習(xí)用書,也可作為高等院校相關(guān)專業(yè)的教學(xué)參考用書,還可供開發(fā)人員查閱、參考使用。
“軟件開發(fā)視頻大講堂”叢書是清華社計算機專業(yè)基礎(chǔ)類零售圖書最暢銷的品牌之一。
(1)叢書累計銷售400萬冊,深受廣大開發(fā)者喜愛。
(2)4本榮獲“全行業(yè)優(yōu)暢銷書”獎,1本榮獲清華社“專業(yè)暢銷書”一等獎。
(3)絕大多數(shù)品種在“全國計算機零售圖書排行榜”同品種排行中名列前茅。
(4)實用、易懂、資源豐富,被數(shù)百所高校選為專業(yè)課教材。
《Python從入門到精通(第2版)》以當(dāng)前穩(wěn)定版本Python 3.9.1為基礎(chǔ),圖書特點如下。
1. 循序漸進(jìn),實戰(zhàn)講述
(1)學(xué)通Python只需要4步:基礎(chǔ)知識→核心技術(shù)→高級應(yīng)用→項目實戰(zhàn),符合認(rèn)知規(guī)律。
(2)Python核心知識點+102個精彩案例+ 42個綜合練習(xí)+7大核心技術(shù)+2個項目案例,學(xué)習(xí)1小時,訓(xùn)練10小時,練出編程習(xí)慣,你就能成為Python高手。
(3)Python爬蟲、游戲、Web編程、流行框架,核心技術(shù)一網(wǎng)打盡。
2. 243集教學(xué)微課視頻,39小時知識點精講,可聽可看,隨時隨地掃碼學(xué)
3. 趣味解讀,易教易學(xué)
(1)小案例生動、有趣、不枯燥,大案例實用、成熟、接地氣
(2)PPT電子課件,學(xué)生好學(xué),老師好教
4. 贈送Python實戰(zhàn)訓(xùn)練背記手冊
(1)Python核心語法必背
(2)Python開發(fā)英語速查
(3)Python常見開發(fā)錯誤表
(4)Python內(nèi)置函數(shù)速查表
(5)Python內(nèi)置異常速查表
5. 在線解答,高效學(xué)習(xí)
(1)企業(yè)QQ、QQ群在線答疑,明日學(xué)院社區(qū)答疑。
(2)每周清大文森學(xué)堂在線直播答疑。
叢書說明:“軟件開發(fā)視頻大講堂”叢書(第1版)于2008年8月出版,因其編寫細(xì)膩、易學(xué)實用、配備海量學(xué)習(xí)資源和全程視頻等,在軟件開發(fā)類圖書市場上產(chǎn)生了很大反響,絕大部分品種在全國軟件開發(fā)零售圖書排行榜中名列前茅,2009年多個品種被評為“全國優(yōu)秀暢銷書”。
“軟件開發(fā)視頻大講堂”叢書(第2版)于2010年8月出版,第3版于2012年8月出版,第4版于2016年10月出版,第5版于2019年3月出版。叢書連續(xù)暢銷12年,迄今累計重印620次,銷售400多萬冊。不僅深受廣大程序員的喜愛,還被百余所高校選為計算機、軟件等相關(guān)專業(yè)的教學(xué)參考用書。
“軟件開發(fā)視頻大講堂”叢書(第6版)在繼承前5版優(yōu)點的基礎(chǔ)上,將開發(fā)環(huán)境和工具更新為目前最新版本,并且重新錄制了教學(xué)微課視頻。并結(jié)合目前市場需要,進(jìn)一步對叢書品種進(jìn)行完善,對相關(guān)內(nèi)容進(jìn)行了更新優(yōu)化,使之更適合讀者學(xué)習(xí)。同時,為了方便教學(xué)使用,還提供了教學(xué)課件PPT。
Python被稱為“膠水”語言,能夠把用其他語言制作的各種模塊(尤其是C/C )很輕松地聯(lián)結(jié)在一起。它是1989年由荷蘭人Guido van Rossum發(fā)明的一種面向?qū)ο蟮慕忉屝透呒壘幊陶Z言。由于Python語言簡潔、易讀,非常適合編程入門,現(xiàn)在很多學(xué)校都開設(shè)了這門課程,甚至有些小學(xué)也開設(shè)了Python課程。連小學(xué)生都能學(xué)會的語言,您還在等什么呢?快快加入Python開發(fā)者的陣營吧!
當(dāng)前,關(guān)于Python的書籍有很多,但是真正適合初學(xué)者學(xué)習(xí)的書籍并不是很多。本書從初學(xué)者的角度出發(fā),循序漸進(jìn)地講解使用Python開發(fā)應(yīng)用項目和游戲時應(yīng)該掌握的各項技術(shù)。
本書內(nèi)容
本書提供了從Python入門到編程高手所必需的各類知識,共分4篇。
第1篇:基礎(chǔ)知識。本篇包括Python簡介、搭建Python開發(fā)環(huán)境、Python開發(fā)工具、Python語法特點、Python中的變量、基本數(shù)據(jù)類型、基本輸入和輸出、運算符與表達(dá)式、流程控制語句、列表和元組、字典和集合,以及字符串等語言基礎(chǔ)方面的知識。介紹時結(jié)合大量的圖示、舉例、視頻,使讀者能夠快速掌握Python語言,并為以后編程奠定堅實的基礎(chǔ)。
第2篇:進(jìn)階提高。本篇包括Python中使用正則表達(dá)式、函數(shù)、面向?qū)ο蟪绦蛟O(shè)計、模塊、異常處理及程序調(diào)試、文件及目錄操作、操作數(shù)據(jù)庫等內(nèi)容。學(xué)習(xí)完本篇,讀者將可以掌握更深一層的Python開發(fā)技術(shù)。
第3篇:高級應(yīng)用。本篇包括GUI界面編程、Pygame游戲編程、網(wǎng)絡(luò)爬蟲開發(fā)、使用進(jìn)程和線程、網(wǎng)絡(luò)編程、Web編程、Flask框架等內(nèi)容。學(xué)習(xí)完本篇,讀者將能夠開發(fā)GUI界面程序、簡單的游戲、網(wǎng)絡(luò)爬蟲、網(wǎng)絡(luò)及Web程序等。
第4篇:項目實戰(zhàn)。本篇介紹兩個完整項目:e起去旅行網(wǎng)站和AI圖像識別工具。通過兩個不同類型的項目,讓讀者快速掌握Python項目開發(fā)的精髓,以將學(xué)習(xí)到的Python技術(shù)應(yīng)用到實踐開發(fā)中,并為以后的開發(fā)積累經(jīng)驗。
本書特點
由淺入深,循序漸進(jìn)。本書以零基礎(chǔ)入門讀者和初、中級程序員為對象,先從Python語言基礎(chǔ)學(xué)起,然后學(xué)習(xí)Python的進(jìn)階與提高技術(shù),接下來學(xué)習(xí)Pyhton的高級應(yīng)用,最后學(xué)習(xí)開發(fā)兩個完整項目。在講解過程中,其步驟詳盡,版式新穎,在操作的內(nèi)容圖片上以編號 內(nèi)容的方式進(jìn)行標(biāo)注,讓讀者在閱讀中一目了然,從而快速掌握書中內(nèi)容。
微課視頻,講解詳盡。為便于讀者直觀感受程序開發(fā)的全過程,書中重要章節(jié)配備了視頻講解(共243集,39小時),使用手機掃描小節(jié)標(biāo)題一側(cè)的二維碼,即可觀看學(xué)習(xí)。初學(xué)者可輕松入門,感受編程的快樂和成就感,進(jìn)一步增強學(xué)習(xí)的信心。
基礎(chǔ)示例 綜合練習(xí) 項目案例,實戰(zhàn)為王。通過例子學(xué)習(xí)是最好的學(xué)習(xí)方式,本書核心知識講解通過“一個知識點、一個示例、一個結(jié)果、一段評析、一個綜合應(yīng)用”的模式,詳盡透徹地講述了實際開發(fā)中所需的各類知識。全書共計有102個應(yīng)用示例,42個綜合練習(xí),2個項目案例,為初學(xué)者打造“學(xué)習(xí)1小時,訓(xùn)練10小時”的強化實戰(zhàn)學(xué)習(xí)環(huán)境。
精彩欄目,貼心提醒。本書根據(jù)需要在各章使用了很多“注意”“說明”“誤區(qū)警示”等小欄目,有助于讀者在學(xué)習(xí)過程中能夠輕松地理解相關(guān)知識點及概念,進(jìn)而快速掌握相應(yīng)技術(shù)的應(yīng)用技巧。
讀者對象:初學(xué)編程的自學(xué)者、編程愛好者、大中專院校的老師和學(xué)生、相關(guān)培訓(xùn)機構(gòu)的老師和學(xué)員、 畢業(yè)設(shè)計的學(xué)生、初中級程序開發(fā)人員、程序測試及維護(hù)人員、參加實習(xí)的“菜鳥”程序員。
學(xué)習(xí)資源獲取方式
本書提供了大量的輔助學(xué)習(xí)資源,讀者可掃描圖書封底的“文泉云盤”二維碼,或登錄清華大學(xué)出版社網(wǎng)站,在對應(yīng)圖書頁面下查閱各類學(xué)習(xí)資源的獲取方式。
讀者可先掃描圖書封底的權(quán)限二維碼(需要刮開涂層),獲取學(xué)習(xí)權(quán)限,然后掃描各章節(jié)知識點、案例旁的二維碼,觀看對應(yīng)的視頻講解。
讀者可掃碼登錄清大文森學(xué)堂,獲取本書的源代碼、微課視頻等資源,可參加輔導(dǎo)答疑直播課。同時,還可以獲得更多的Python進(jìn)階學(xué)習(xí)資源、職業(yè)成長知識圖譜等,技術(shù)上釋疑解惑,職業(yè)上交流成長。
致讀者
感謝您購買本書,希望本書能成為您編程路上的領(lǐng)航者。
“零門檻”編程,一切皆有可能。
祝讀書快樂!
第1篇 基礎(chǔ)知識
第1章 初識Python 2
1.1 Python簡介 2
1.1.1 什么是Python 2
1.1.2 Python的版本 3
1.1.3 Python能做什么 3
1.2 搭建Python開發(fā)環(huán)境 5
1.2.1 開發(fā)環(huán)境概述 5
1.2.2 安裝Python 5
1.2.3 編寫第一個Python程序 10
1.2.4 運行已經(jīng)編寫好的.py文件 11
1.3 Python開發(fā)工具 12
1.3.1 使用自帶的IDLE 12
1.3.2 常用的第三方開發(fā)工具 14
1.4 實踐與練習(xí) 16
第2章 Python語言基礎(chǔ) 17
2.1 Python語法特點 17
2.1.1 注釋規(guī)則 17
2.1.2 代碼縮進(jìn) 21
2.1.3 編碼規(guī)范 22
2.2 Python中的變量 24
2.2.1 保留字與標(biāo)識符 24
2.2.2 理解Python中的變量 26
2.2.3 定義變量 27
2.3 基本數(shù)據(jù)類型 28
2.3.1 數(shù)字 28
2.3.2 字符串 30
2.3.3 布爾類型 32
2.3.4 數(shù)據(jù)類型轉(zhuǎn)換 32
2.4 基本輸入和輸出 33
2.4.1 使用input()函數(shù)輸入 33
2.4.2 使用print()函數(shù)輸出 34
2.5 實踐與練習(xí) 35
第3章 運算符與表達(dá)式 36
3.1 運算符 36
3.1.1 算術(shù)運算符 36
3.1.2 賦值運算符 38
3.1.3 比較(關(guān)系)運算符 38
3.1.4 邏輯運算符 39
3.1.5 位運算符 40
3.2 運算符的優(yōu)先級 43
3.3 條件表達(dá)式 43
3.4 實踐與練習(xí) 44
第4章 流程控制語句 45
4.1 程序結(jié)構(gòu) 45
4.2 選擇語句 46
4.2.1 最簡單的if語句 47
4.2.2 if…else語句 48
4.2.3 if…elif…else語句 50
4.2.4 選擇語句的嵌套 52
4.3 循環(huán)語句 53
4.3.1 while循環(huán) 54
4.3.2 for循環(huán) 55
4.3.3 循環(huán)嵌套 57
4.4 break、continue和pass語句 58
4.4.1 break語句 58
4.4.2 continue語句 60
4.4.3 pass語句 61
4.5 實踐與練習(xí) 62
第5章 列表和元組 63
5.1 序列概述 63
5.1.1 索引 64
5.1.2 切片 65
5.1.3 序列相加 65
5.1.4 乘法 66
5.1.5 檢查某個元素是否是序列的成員(元素) 67
5.1.6 計算序列的長度、最大值和最小值 67
5.2 列表 68
5.2.1 列表的創(chuàng)建和刪除 68
5.2.2 訪問列表元素 70
5.2.3 遍歷列表 71
5.2.4 添加、修改和刪除列表元素 73
5.2.5 對列表進(jìn)行統(tǒng)計計算 76
5.2.6 對列表進(jìn)行排序 77
5.2.7 列表推導(dǎo)式 79
5.2.8 二維列表 80
5.3 元組 83
5.3.1 元組的創(chuàng)建和刪除 83
5.3.2 訪問元組元素 86
5.3.3 修改元組 88
5.3.4 元組推導(dǎo)式 89
5.3.5 元組與列表的區(qū)別 90
5.4 實踐與練習(xí) 91
第6章 字典和集合 92
6.1 字典 92
6.1.1 字典的創(chuàng)建和刪除 93
6.1.2 訪問字典 95
6.1.3 遍歷字典 97
6.1.4 添加、修改和刪除字典元素 98
6.1.5 字典推導(dǎo)式 100
6.2 集合 100
6.2.1 創(chuàng)建集合 101
6.2.2 向集合中添加和刪除元素 103
6.2.3 集合的交集、并集和差集運算 104
6.3 實踐與練習(xí) 105
第7章 字符串 106
7.1 字符串編碼轉(zhuǎn)換 106
7.1.1 使用encode()方法編碼 107
7.1.2 使用decode()方法解碼 108
7.2 字符串常用操作 108
7.2.1 拼接字符串 108
7.2.2 計算字符串的長度 110
7.2.3 截取字符串 111
7.2.4 分割、合并字符串 112
7.2.5 檢索字符串 115
7.2.6 字母的大小寫轉(zhuǎn)換 118
7.2.7 去除字符串中的空格和特殊字符 119
7.2.8 格式化字符串 121
7.3 實踐與練習(xí) 124
第2篇 進(jìn)階提高
第8章 Python中使用正則表達(dá)式 126
8.1 正則表達(dá)式語法 126
8.1.1 行定位符 126
8.1.2 元字符 127
8.1.3 限定符 127
8.1.4 字符類 128
8.1.5 排除字符 128
8.1.6 選擇字符 128
8.1.7 轉(zhuǎn)義字符 129
8.1.8 分組 129
8.1.9 在Python中使用正則表達(dá)式語法 129
8.2 使用re模塊實現(xiàn)正則表達(dá)式操作 130
8.2.1 匹配字符串 130
8.2.2 替換字符串 134
8.2.3 使用正則表達(dá)式分割字符串 135
8.3 實踐與練習(xí) 136
第9章 函數(shù) 137
9.1 函數(shù)的創(chuàng)建和調(diào)用 137
9.1.1 創(chuàng)建一個函數(shù) 137
9.1.2 調(diào)用函數(shù) 139
9.2 參數(shù)傳遞 140
9.2.1 了解形式參數(shù)和實際參數(shù) 140
9.2.2 位置參數(shù) 143
9.2.3 關(guān)鍵字參數(shù) 144
9.2.4 為參數(shù)設(shè)置默認(rèn)值 145
9.2.5 可變參數(shù) 147
9.3 返回值 149
9.4 變量的作用域 151
9.4.1 局部變量 151
9.4.2 全局變量 152
9.5 匿名函數(shù) 154
9.6 實踐與練習(xí) 155
第10章 面向?qū)ο蟪绦蛟O(shè)計 156
10.1 面向?qū)ο蟾攀?156
10.1.1 對象 157
10.1.2 類 157
10.1.3 面向?qū)ο蟪绦蛟O(shè)計的特點 158
10.2 類的定義和使用 159
10.2.1 定義類 159
10.2.2 創(chuàng)建類的實例 160
10.2.3 創(chuàng)建__init__()方法 160
10.2.4 創(chuàng)建類的成員并訪問 162
10.2.5 訪問限制 166
10.3 屬性 167
10.3.1 創(chuàng)建用于計算的屬性 167
10.3.2 為屬性添加安全保護(hù)機制 168
10.4 繼承 170
10.4.1 繼承的基本語法 170
10.4.2 方法重寫 171
10.4.3 派生類中調(diào)用基類的__init__()方法 172
10.5 實踐與練習(xí) 174
第11章 模塊 175
11.1 模塊概述 175
11.2 自定義模塊 176
11.2.1 創(chuàng)建模塊 176
11.2.2 使用import語句導(dǎo)入模塊 177
11.2.3 使用from…import語句導(dǎo)入模塊 178
11.2.4 模塊搜索目錄 180
11.3 Python中的包 183
11.3.1 Python程序的包結(jié)構(gòu) 183
11.3.2 創(chuàng)建和使用包 183
11.3.3 以主程序的形式執(zhí)行 187
11.4 引用其他模塊 188
11.4.1 導(dǎo)入和使用標(biāo)準(zhǔn)模塊 188
11.4.2 第三方模塊的下載與安裝 190
11.5 實踐與練習(xí) 191
第12章 異常處理及程序調(diào)試 193
12.1 異常概述 193
12.2 異常處理語句 195
12.2.1 try…except語句 195
12.2.2 try…except…else語句 197
12.2.3 try…except…finally語句 198
12.2.4 使用raise語句拋出異常 199
12.3 程序調(diào)試 201
12.3.1 使用自帶的IDLE進(jìn)行程序調(diào)試 201
12.3.2 使用assert語句調(diào)試程序 203
12.4 實踐與練習(xí) 205
第13章 文件及目錄操作 206
13.1 基本文件操作 206
13.1.1 創(chuàng)建和打開文件 207
13.1.2 關(guān)閉文件 209
13.1.3 打開文件時使用with語句 210
13.1.4 寫入文件內(nèi)容 210
13.1.5 讀取文件 212
13.2 目錄操作 216
13.2.1 os和os.path模塊 216
13.2.2 路徑 218
13.2.3 判斷目錄是否存在 219
13.2.4 創(chuàng)建目錄 220
13.2.5 刪除目錄 222
13.2.6 遍歷目錄 222
13.3 高級文件操作 224
13.3.1 刪除文件 224
13.3.2 重命名文件和目錄 225
13.3.3 獲取文件基本信息 226
13.4 實踐與練習(xí) 228
第14章 操作數(shù)據(jù)庫 229
14.1 數(shù)據(jù)庫編程接口 229
14.1.1 連接對象 230
14.1.2 游標(biāo)對象 231
14.2 使用SQLite 231
14.2.1 創(chuàng)建數(shù)據(jù)庫文件 231
14.2.2 操作SQLite 233
14.3 使用MySQL 236
14.3.1 下載和安裝MySQL 236
14.3.2 安裝PyMySQL 240
14.3.3 連接數(shù)據(jù)庫 241
14.3.4 創(chuàng)建數(shù)據(jù)表 241
14.3.5 操作MySQL數(shù)據(jù)表 243
14.4 實踐與練習(xí) 244
第3篇 高級應(yīng)用
第15章 GUI界面編程 246
15.1 初識GUI 246
15.1.1 什么是GUI 246
15.1.2 常用的GUI框架 247
15.1.3 安裝PyQt5 247
15.2 使用Qt Designer創(chuàng)建窗口 250
15.2.1 創(chuàng)建主窗口 250
15.2.2 設(shè)計主窗口 251
15.2.3 預(yù)覽窗口效果 252
15.2.4 將.ui文件轉(zhuǎn)換為.py文件 252
15.2.5 運行主窗口 253
15.3 信號與槽 254
15.3.1 編輯信號與槽 255
15.3.2 自定義槽 256
15.3.3 將自定義槽連接到信號 256
15.4 常用控件 257
15.4.1 Label:標(biāo)簽控件 257
15.4.2 LineEdit:單行文本框控件 258
15.4.3 TextEdit:多行文本框控件 260
15.4.4 PushButton:按鈕控件 261
15.4.5 CheckBox:復(fù)選框控件 263
15.4.6 RadioButton:單選按鈕控件 265
15.4.7 ComboBox:下拉組合框控件 265
15.5 實踐與練習(xí) 267
第16章 Pygame游戲編程 268
16.1 初識Pygame 268
16.1.1 安裝Pygame 268
16.1.2 Pygame常用模塊 269
16.2 Pygame基本使用 270
16.3 開發(fā)Flappy Bird游戲 276
16.3.1 游戲簡介 276
16.3.2 游戲分析 276
16.3.3 搭建主框架 276
16.3.4 創(chuàng)建小鳥類 278
16.3.5 創(chuàng)建管道類 280
16.3.6 計算得分 282
16.3.7 碰撞檢測 283
16.4 實踐與練習(xí) 285
第17章 網(wǎng)絡(luò)爬蟲開發(fā) 286
17.1 初識網(wǎng)絡(luò)爬蟲 286
17.1.1 網(wǎng)絡(luò)爬蟲概述 286
17.1.2 網(wǎng)絡(luò)爬蟲的分類 287
17.1.3 網(wǎng)絡(luò)爬蟲的基本原理 288
17.2 網(wǎng)絡(luò)爬蟲的常用技術(shù) 288
17.2.1 Python的網(wǎng)絡(luò)請求 288
17.2.2 請求headers處理 291
17.2.3 網(wǎng)絡(luò)超時 292
17.2.4 代理服務(wù) 293
17.2.5 HTML解析之BeautifulSoup 294
17.3 網(wǎng)絡(luò)爬蟲開發(fā)常用框架Scrapy 297
17.3.1 安裝Scrapy爬蟲框架 297
17.3.2 創(chuàng)建Scrapy項目 298
17.3.3 創(chuàng)建爬蟲 299
17.4 實戰(zhàn)項目:快手爬票 300
17.4.1 快手爬票概述 300
17.4.2 創(chuàng)建快手爬票項目 301
17.4.3 主窗口設(shè)計 302
17.4.4 分析網(wǎng)頁請求參數(shù) 308
17.4.5 下載站名文件 309
17.4.6 車票信息的請求與顯示 312
17.5 實踐與練習(xí) 318
第18章 使用進(jìn)程和線程 319
18.1 什么是進(jìn)程 319
18.2 創(chuàng)建進(jìn)程的常用方式 320
18.2.1 使用multiprocessing模塊創(chuàng)建進(jìn)程 320
18.2.2 使用Process子類創(chuàng)建進(jìn)程 322
18.2.3 使用進(jìn)程池Pool創(chuàng)建進(jìn)程 324
18.3 進(jìn)程間通信 326
18.3.1 隊列簡介 327
18.3.2 多進(jìn)程隊列的使用 328
18.3.3 使用隊列在進(jìn)程間通信 329
18.4 什么是線程 330
18.5 創(chuàng)建線程 330
18.5.1 使用threading模塊創(chuàng)建線程 331
18.5.2 使用Thread子類創(chuàng)建線程 332
18.6 線程間通信 333
18.6.1 什么是互斥鎖 334
18.6.2 使用互斥鎖 334
18.6.3 使用隊列在線程間通信 336
18.7 實踐與練習(xí) 337
第19章 網(wǎng)絡(luò)編程 338
19.1 網(wǎng)絡(luò)基礎(chǔ) 338
19.1.1 為什么要使用通信協(xié)議 338
19.1.2 TCP/IP簡介 339
19.1.3 UDP簡介 340
19.1.4 socket簡介 341
19.2 TCP編程 342
19.2.1 創(chuàng)建TCP服務(wù)器 342
19.2.2 創(chuàng)建TCP客戶端 343
19.2.3 執(zhí)行TCP服務(wù)器和客戶端 344
19.3 UDP編程 347
19.3.1 創(chuàng)建UDP服務(wù)器 347
19.3.2 創(chuàng)建UDP客戶端 348
19.3.3 執(zhí)行UDP服務(wù)器和客戶端 348
19.4 實踐與練習(xí) 349
第20章 Web編程 350
20.1 Web基礎(chǔ) 350
20.1.1 HTTP協(xié)議 350
20.1.2 Web服務(wù)器 351
20.1.3 前端基礎(chǔ) 353
20.1.4 靜態(tài)服務(wù)器 355
20.2 WSGI接口 359
20.2.1 CGI簡介 359
20.2.2 WSGI簡介 360
20.2.3 定義WSGI接口 360
20.2.4 運行WSGI服務(wù) 361
20.3 Web框架 364
20.3.1 什么是Web框架 364
20.3.2 Python中常用的Web框架 364
20.4 實踐與練習(xí) 365
第21章 Flask框架 366
21.1 Flask簡介 366
21.1.1 安裝虛擬環(huán)境 366
21.1.2 安裝Flask 368
21.1.3 第一個Flask程序 368
21.2 Flask基礎(chǔ) 369
21.2.1 開啟調(diào)試模式 369
21.2.2 路由 370
21.2.3 靜態(tài)文件 372
21.2.4 藍(lán)圖 372
21.3 模板 373
21.3.1 渲染模板 373
21.3.2 變量 374
21.3.3 控制結(jié)構(gòu) 375
21.4 Web表單 376
21.4.1 CSRF保護(hù)和驗證 377
21.4.2 表單類 377
21.4.3 把表單渲染成HTML 379
21.5 實踐與練習(xí) 381
第4篇 項目實戰(zhàn)
第22章 e起去旅行網(wǎng)站 384
22.1 系統(tǒng)功能設(shè)計 384
22.1.1 系統(tǒng)功能結(jié)構(gòu) 384
22.1.2 系統(tǒng)業(yè)務(wù)流程 385
22.2 系統(tǒng)開發(fā)必備 386
22.2.1 系統(tǒng)開發(fā)環(huán)境 386
22.2.2 文件夾組織結(jié)構(gòu) 386
22.3 數(shù)據(jù)庫設(shè)計 387
22.3.1 數(shù)據(jù)庫概要說明 387
22.3.2 數(shù)據(jù)表模型 387
22.3.3 數(shù)據(jù)表關(guān)系 389
22.4 前臺用戶模塊設(shè)計 389
22.4.1 會員注冊功能實現(xiàn) 389
22.4.2 會員登錄功能實現(xiàn) 397
22.4.3 會員退出功能實現(xiàn) 398
22.5 前臺首頁模塊設(shè)計 398
22.5.1 推薦景區(qū)功能實現(xiàn) 400
22.5.2 推薦地區(qū)功能實現(xiàn) 402
22.5.3 搜索景區(qū)功能實現(xiàn) 403
22.6 景區(qū)模塊設(shè)計 406
22.6.1 查看景區(qū)功能實現(xiàn) 406
22.6.2 查看游記功能實現(xiàn) 408
22.6.3 收藏景區(qū)功能實現(xiàn) 409
22.6.4 查看收藏景區(qū)功能實現(xiàn) 412
22.7 關(guān)于我們模塊設(shè)計 415
22.8 后臺模塊設(shè)計 419
22.8.1 管理員登錄功能實現(xiàn) 419
22.8.2 景區(qū)管理功能實現(xiàn) 421
22.8.3 地區(qū)管理功能實現(xiàn) 432
22.8.4 游記管理功能實現(xiàn) 432
22.8.5 會員管理功能實現(xiàn) 433
22.8.6 日志管理功能實現(xiàn) 433
第23章 AI圖像識別工具 435
23.1 需求分析 435
23.2 系統(tǒng)設(shè)計流程 435
23.3 系統(tǒng)開發(fā)必備 436
23.3.1 系統(tǒng)開發(fā)環(huán)境 436
23.3.2 文件夾組織結(jié)構(gòu) 436
23.4 開發(fā)前的準(zhǔn)備工作 437
23.4.1 申請百度AI接口 437
23.4.2 urllib、urllib.request模塊 438
23.4.3 json模塊 439
23.5 AI圖像識別工具的開發(fā) 440
23.5.1 根據(jù)項目設(shè)計制作窗體 440
23.5.2 添加分類 440
23.5.3 選擇識別的圖片 441
23.5.4 銀行卡圖像識別 443
23.5.5 植物圖像識別 444
23.5.6 復(fù)制識別結(jié)果到剪貼板中 445