本書用于Python 3.10編程快速入門,書中內(nèi)容注重實戰(zhàn)操作,能幫助讀者循序漸進地掌握Python開發(fā)中的各項技術(shù)。本書配套示例源代碼、PPT課件、同步教學視頻、習題與答案、教學大綱與執(zhí)行計劃表、作者答疑服務(wù)以及其他超值教學資源。 本書共分19章,內(nèi)容包括Python的基本概念、開發(fā)環(huán)境安裝與配置、Python的基礎(chǔ)語法、數(shù)據(jù)類型和運算符、程序流程控制、容器類型的數(shù)據(jù)、字符串的應(yīng)用、函數(shù)、類與對象、異常處理、常用的內(nèi)置模塊、文件讀寫、圖形用戶界面、網(wǎng)絡(luò)通信與網(wǎng)絡(luò)爬蟲、訪問數(shù)據(jù)庫、多線程、彈球游戲案例、網(wǎng)絡(luò)爬蟲案例、大數(shù)據(jù)分析案例、數(shù)據(jù)挖掘案例。 本書適合Python初學者、使用Python做開發(fā)的各類技術(shù)人員,也適合作為高等院校和培訓機構(gòu)計算機軟件、大數(shù)據(jù)、人工智能等專業(yè)的教材。
本書用于Python 3.10編程快速入門,書中內(nèi)容注重實戰(zhàn)操作,可以幫助讀者循序漸進地掌握Python編程技術(shù),并為深入學習Web開發(fā)、網(wǎng)絡(luò)爬蟲、游戲開發(fā)、自動化運維、大數(shù)據(jù)分析與挖掘、人工智能、云計算等打下牢固的基礎(chǔ)。
Python語言廣泛應(yīng)用于Web開發(fā)、網(wǎng)絡(luò)爬蟲、游戲開發(fā)、自動化運維、大數(shù)據(jù)分析與挖掘、人工智能、云計算等技術(shù)領(lǐng)域,各大知名企業(yè)均高薪招聘技術(shù)能力強的Python開發(fā)人員。為滿足這樣的需求,本書以Python 3.10為基礎(chǔ),通過實例的操作與分析,引領(lǐng)讀者快速學習和掌握Python編程。
本書內(nèi)容
本書共分19章。內(nèi)容包括Python基礎(chǔ)知識、Python開發(fā)環(huán)境、Python基本語法、基本數(shù)據(jù)類型和運算符、容器類型的數(shù)據(jù)、字符串的常用操作、函數(shù)、面向?qū)ο缶幊、異常處理和程序調(diào)試、常用的內(nèi)置模塊、文件操作、圖形用戶界面tkinter、網(wǎng)絡(luò)編程與網(wǎng)絡(luò)爬蟲、數(shù)據(jù)庫訪問、多線程、游戲開發(fā)案例、網(wǎng)絡(luò)爬蟲案例、大數(shù)據(jù)分析案例、數(shù)據(jù)挖掘案例。
本書特色
內(nèi)容全面:知識點由淺入深,涵蓋Python程序語言的基礎(chǔ)知識,循序漸進地講解Python程序開發(fā)技術(shù)。
圖文并茂:注重Python應(yīng)用實例的操作,在介紹案例的過程中,每一個操作均有對應(yīng)的步驟和過程說明。這種圖文結(jié)合的方式使讀者在學習過程中能夠直觀、清晰地看到操作的過程以及效果,便于讀者更快地理解和掌握。
易學易用:顛覆傳統(tǒng)看書的觀念,把本書變成一本能操作的圖書。
案例豐富:把知識點融匯于系統(tǒng)的案例實訓當中,并且結(jié)合綜合案例進行講解和拓展,進而使讀者知其然,并知其所以然。
提示技巧:本書對讀者在學習過程中可能會遇到的疑難問題以提示和技巧的形式進行說明,以免讀者在學習的過程中走彎路。
超值資源:本書贈送示例源代碼、PPT課件、同步教學視頻、習題與答案、教學大綱與執(zhí)行進度表、30個熱門項目源代碼、面試資源庫和求職資源庫。
技術(shù)支持:本書以Python最佳的學習模式來設(shè)置內(nèi)容結(jié)構(gòu)。遇到問題可觀看本書同步教學視頻,也可以通過在線技術(shù)支持讓有經(jīng)驗的程序員為你答疑解惑(作者答疑服務(wù))。本書技術(shù)支持信息請查閱下載資源中的相關(guān)文件。
示例源代碼、PPT課件、同步教學視頻等資源下載
本書配套示例源代碼、PPT課件、同步教學視頻、習題與答案、教學大綱與執(zhí)行計劃表以及其他超值教學資源,需要用微信掃描下面的二維碼獲取。如果發(fā)現(xiàn)問題或者有任何建議,可通過郵件與作者聯(lián)系,電子郵箱為booksaga@163.com,郵件主題寫Python編程從零開始學(視頻教學版)。
讀者對象
Python程序開發(fā)初學者。
各領(lǐng)域Python程序開發(fā)人員。
高等院校和培訓機構(gòu)的師生。
鳴 謝
本書由王英英主編,參與編寫的還有張工廠、劉增杰、胡同夫、劉玉萍、劉玉紅。本書的編寫雖然傾注了編者的心血,但由于水平有限、時間倉促,書中難免有疏漏之處,歡迎批評指正。如果遇到問題或有好的建議,敬請與我們聯(lián)系,我們將全力提供幫助。
編 者
2023年1月
王英英,從事Web應(yīng)用開發(fā)多年,精通多種編程語言,對數(shù)據(jù)庫技術(shù)有深入研究。在Python編程、數(shù)據(jù)庫開發(fā)方面有著豐富的經(jīng)驗,并已出版過多本相關(guān)暢銷書,受廣大讀者熟悉和認可。暢銷書有《MySQL 5.7從零開始學(視頻教學版)》《MySQL8從入門到精通(視頻教學版)》等。
第1章 進入Python的精彩世界 1
1.1 Python簡介 1
1.2 Python語言的優(yōu)點 2
1.3 搭建Python的開發(fā)環(huán)境 2
1.4 編寫和運行Python程序 4
1.4.1 交互方式 4
1.4.2 PyCharm方式 5
第2章 Python的基礎(chǔ)語法 7
2.1 標識符與關(guān)鍵字 7
2.2 變量 8
2.3 程序結(jié)構(gòu) 9
2.3.1 縮進分層 9
2.3.2 換行問題 10
2.3.3 代碼注釋 10
2.4 Python的輸入和輸出 11
2.4.1 接收鍵盤輸入 11
2.4.2 輸出處理結(jié)果 12
2.5 認識模塊 13
第3章 基本數(shù)據(jù)類型和運算符 15
3.1 基本數(shù)據(jù)類型 15
3.1.1 數(shù)字類型 15
3.1.2 字符串類型 17
3.1.3 數(shù)據(jù)類型的相互轉(zhuǎn)換 18
3.2 運算符和優(yōu)先級 20
3.2.1 算術(shù)運算符 20
3.2.2 比較運算符 21
3.2.3 賦值運算符 22
3.2.4 邏輯運算符 23
3.2.5 位運算符 24
3.2.6 成員運算符 25
3.2.7 身份運算符 26
3.2.8 運算符的優(yōu)先級 26
3.3 賦值表達式 28
第4章 程序流程控制 30
4.1 程序流程概述 30
4.2 順序結(jié)構(gòu) 32
4.3 選擇結(jié)構(gòu)與語句 32
4.3.1 選擇結(jié)構(gòu) 33
4.3.2 if語句 33
4.3.3 if嵌套 34
4.3.4 多重條件判斷 35
4.4 循環(huán)控制語句 36
4.4.1 while語句 36
4.4.2 for語句 38
4.4.3 continue語句和else語句 39
4.4.4 pass語句 40
第5章 容器類型的數(shù)據(jù) 41
5.1 認識序列 41
5.1.1 索引 41
5.1.2 切片 42
5.1.3 序列相加 42
5.1.4 序列相乘 42
5.1.5 檢查序列中的成員 43
5.2 集合類型 43
5.2.1 認識集合類型 43
5.2.2 集合類型的常見操作 44
5.3 列表類型 45
5.3.1 認識列表類型 45
5.3.2 列表的常見操作 46
5.3.3 內(nèi)置的函數(shù)和方法 47
5.4 元組類型 51
5.4.1 認識元組類型 51
5.4.2 元組的常用操作 51
5.4.3 元組的內(nèi)置函數(shù) 52
5.5 字典類型 54
5.5.1 認識字典類型 54
5.5.2 字典的常用操作 54
5.5.3 字典的內(nèi)置函數(shù)和方法 55
第6章 字符串的應(yīng)用 58
6.1 字符串的常用操作 58
6.1.1 訪問字符串中的值 58
6.1.2 分割指定范圍的字符 59
6.1.3 更新字符串 59
6.1.4 使用轉(zhuǎn)義字符 60
6.2 熟練使用字符串運算符 61
6.3 格式化字符串 62
6.4 內(nèi)置的字符串方法 64
6.4.1 capitalize()方法 64
6.4.2 count()方法 64
6.4.3 find()方法 65
6.4.4 index()方法 65
6.4.5 isalnum()方法 66
6.4.6 join()方法 66
6.4.7 isalpha()方法 66
6.4.8 isdigit()方法 67
6.4.9 low()方法 67
6.4.10 max()方法 68
6.4.11 min()方法 68
6.4.12 replace()方法 68
6.4.13 swapcase()方法 69
6.4.14 title()方法 69
第7章 函數(shù) 71
7.1 使用函數(shù)的優(yōu)勢 71
7.2 定義函數(shù) 72
7.3 函數(shù)的參數(shù) 72
7.3.1 必需參數(shù) 73
7.3.2 關(guān)鍵字參數(shù) 73
7.3.3 默認參數(shù) 74
7.3.4 可變參數(shù) 74
7.4 有返回值的函數(shù)和無返回值的函數(shù) 76
7.5 形參和實參 77
7.6 變量作用域 78
7.7 返回函數(shù) 79
7.8 遞歸函數(shù) 82
7.8.1 使用遞歸函數(shù) 82
7.8.2 利用遞歸函數(shù)解決漢諾塔問題 83
7.8.3 防止棧溢出 84
7.9 匿名函數(shù) 85
7.10 偏函數(shù) 86
第8章 類與對象 88
8.1 理解面向?qū)ο蟪绦蛟O(shè)計 88
8.1.1 什么是對象 88
8.1.2 面向?qū)ο蟮奶卣?89
8.1.3 什么是類 90
8.2 類的定義 90
8.3 類的構(gòu)造方法 91
8.4 創(chuàng)建對象 92
8.5 類的繼承 94
8.6 類的多態(tài) 98
8.7 類的封裝 99
8.8 垃圾回收機制 101
第9章 異常處理和程序調(diào)試 103
9.1 什么是異常 103
9.2 常見錯誤和異常 104
9.3 熟悉內(nèi)置異常 107
9.4 使用try…except語句處理異常 112
9.5 全捕捉 114
9.6 異常中的else 115
9.7 異常中的pass 115
9.8 異常類的實例 116
9.9 清除異常 117
9.10 拋出異常 118
9.10.1 raise語句 118
9.10.2 結(jié)束解釋器的運行 119
9.10.3 離開嵌套循環(huán) 120
9.11 自定義異常 120
9.12 程序調(diào)試 122
9.12.1 assert語句 122
9.12.2 __debug__內(nèi)置變量 123
第10章 常用的內(nèi)置模塊 124
10.1 math模塊 124
10.2 calendar模塊 125
10.3 time模塊 127
10.3.1 localtime([secs])函數(shù) 127
10.3.2 gmtime([secs])函數(shù) 127
10.3.3 mktime ([tuple ])函數(shù) 127
10.3.4 ctime([secs])函數(shù) 128
10.3.5 sleep(secs)函數(shù) 128
10.3.6 strptime(string [,format])函數(shù) 128
10.4 datetime模塊 129
10.4.1 date類 129
10.4.2 time類 132
10.4.3 datetime類 133
10.4.4 timedelta類 136
10.4.5 tzinfo類 136
10.4.6 日期和時間的常用操作 137
10.5 re正則表達式模塊 139
10.5.1 匹配字符串 139
10.5.2 替換字符串 141
10.5.3 分割字符串 142
第11章 文件讀寫 143
11.1 打開文件 143
11.2 關(guān)閉文件 145
11.3 讀取文件 146
11.3.1 read()方法 146
11.3.2 readline()方法 147
11.3.3 readlines()方法 148
11.3.4 tell()方法 149
11.3.5 truncate()方法 149
11.3.6 seek()方法 150
11.4 寫入文件 151
11.4.1 將字符串寫入文件 151
11.4.2 寫入多行 152
11.4.3 修改文件內(nèi)容 152
11.4.4 附加到文件 153
11.5 刷新文件 153
11.6 復制文件 154
11.6.1 復制文本文件 154
11.6.2 復制二進制文件 154
第12章 圖形用戶界面 156
12.1 使用tkinter 156
12.2 認識tkinter的控件 157
12.3 布局控件的位置 159
12.3.1 pack()方法 159
12.3.2 grid()方法 161
12.3.3 place()方法 162
12.4 tkinter的事件 163
12.4.1 事件的屬性 163
12.4.2 事件綁定方法 164
12.4.3 鼠標事件 164
12.4.4 鍵盤事件 165
12.5 Button控件 166
12.6 Canvas控件 167
12.7 Checkbutton控件 168
12.8 Entry控件 169
12.9 Label控件 170
12.10 Listbox控件 171
12.11 Menu控件 173
12.12 Message控件 175
12.13 Radiobutton控件 175
12.14 Scale控件 177
12.15 Scrollbar控件 178
12.16 Text控件 179
12.17 對話框 181
12.17.1 messagebox模塊 182
12.17.2 filedialog模塊 183
12.17.3 colorchooser模塊 185
第13章 網(wǎng)絡(luò)通信和網(wǎng)絡(luò)爬蟲 186
13.1 網(wǎng)絡(luò)概要 186
13.2 socket模塊 188
13.2.1 認識socket模塊 188
13.2.2 創(chuàng)建socket連接 189
13.3 HTTP庫 190
13.3.1 socketserver模塊 191
13.3.2 server模塊 192
13.3.3 client模塊 194
13.4 urllib庫 195
13.4.1 request模塊 195
13.4.2 parse模塊 197
13.5 什么是網(wǎng)絡(luò)爬蟲 198
13.6 網(wǎng)絡(luò)爬蟲的常用技術(shù) 198
13.6.1 網(wǎng)絡(luò)請求技術(shù) 198
13.6.2 請求headers處理 200
13.6.3 網(wǎng)絡(luò)超時問題 201
13.6.4 代理服務(wù) 202
13.7 Python解析XML 202
13.7.1 使用SAX解析XML 202
13.7.2 使用DOM解析XML 205
13.8 XDR數(shù)據(jù)交換格式 207
13.9 JSON數(shù)據(jù)解析 210
13.10 Python解析HTML 211
第14章 訪問數(shù)據(jù)庫 218
14.1 平面數(shù)據(jù)庫 218
14.2 內(nèi)置數(shù)據(jù)庫SQLite 219
14.3 操作MySQL數(shù)據(jù)庫 222
14.3.1 安裝PyMySQL 222
14.3.2 連接MySQL數(shù)據(jù)庫 223
14.3.3 創(chuàng)建數(shù)據(jù)表 223
14.3.4 插入數(shù)據(jù) 224
14.3.5 查詢數(shù)據(jù) 225
14.3.6 更新數(shù)據(jù) 225
14.3.7 刪除數(shù)據(jù) 226
14.4 防止SQL注入 227
第15章 多線程 228
15.1 線程的相關(guān)知識 228
15.1.1 進程 228
15.1.2 多線程 229
15.1.3 Python中的多線程 229
15.2 _thread模塊 230
15.3 threading模塊 231
15.4 線程同步 233
15.5 線程優(yōu)先級隊列 234
第16章 游戲開發(fā)案例開發(fā)彈球游戲 237
16.1 項目分析 237
16.2 彈球游戲中的算法 238
16.3 具體功能實現(xiàn) 238
16.4 項目測試 243
第17章 網(wǎng)絡(luò)爬蟲案例豆瓣電影評論的情感分析 245
17.1 項目分析 245
17.2 環(huán)境配置 246
17.3 具體功能實現(xiàn) 249
17.4 項目測試 252
第18章 大數(shù)據(jù)分析案例開發(fā)數(shù)據(jù)智能分類系統(tǒng) 254
18.1 項目分析 254
18.2 配置環(huán)境 255
18.3 具體功能實現(xiàn) 255
18.4 項目測試 259
第19章 數(shù)據(jù)挖掘案例話題模型和詞云可視化 261
19.1 項目分析 261
19.2 配置環(huán)境 262
19.3 具體功能實現(xiàn) 263
19.4 項目測試 266