本書用于Python 3.10編程快速入門,書中內容注重實戰(zhàn)操作,能幫助讀者循序漸進地掌握Python開發(fā)中的各項技術。本書配套示例源代碼、PPT課件、同步教學視頻、習題與答案、教學大綱與執(zhí)行計劃表、作者答疑服務以及其他超值教學資源。 本書共分19章,內容包括Python的基本概念、開發(fā)環(huán)境安裝與配置、Python的基礎語法、數據類型和運算符、程序流程控制、容器類型的數據、字符串的應用、函數、類與對象、異常處理、常用的內置模塊、文件讀寫、圖形用戶界面、網絡通信與網絡爬蟲、訪問數據庫、多線程、彈球游戲案例、網絡爬蟲案例、大數據分析案例、數據挖掘案例。 本書適合Python初學者、使用Python做開發(fā)的各類技術人員,也適合作為高等院校和培訓機構計算機軟件、大數據、人工智能等專業(yè)的教材。
本書用于Python 3.10編程快速入門,書中內容注重實戰(zhàn)操作,可以幫助讀者循序漸進地掌握Python編程技術,并為深入學習Web開發(fā)、網絡爬蟲、游戲開發(fā)、自動化運維、大數據分析與挖掘、人工智能、云計算等打下牢固的基礎。
Python語言廣泛應用于Web開發(fā)、網絡爬蟲、游戲開發(fā)、自動化運維、大數據分析與挖掘、人工智能、云計算等技術領域,各大知名企業(yè)均高薪招聘技術能力強的Python開發(fā)人員。為滿足這樣的需求,本書以Python 3.10為基礎,通過實例的操作與分析,引領讀者快速學習和掌握Python編程。
本書內容
本書共分19章。內容包括Python基礎知識、Python開發(fā)環(huán)境、Python基本語法、基本數據類型和運算符、容器類型的數據、字符串的常用操作、函數、面向對象編程、異常處理和程序調試、常用的內置模塊、文件操作、圖形用戶界面tkinter、網絡編程與網絡爬蟲、數據庫訪問、多線程、游戲開發(fā)案例、網絡爬蟲案例、大數據分析案例、數據挖掘案例。
本書特色
內容全面:知識點由淺入深,涵蓋Python程序語言的基礎知識,循序漸進地講解Python程序開發(fā)技術。
圖文并茂:注重Python應用實例的操作,在介紹案例的過程中,每一個操作均有對應的步驟和過程說明。這種圖文結合的方式使讀者在學習過程中能夠直觀、清晰地看到操作的過程以及效果,便于讀者更快地理解和掌握。
易學易用:顛覆傳統(tǒng)看書的觀念,把本書變成一本能操作的圖書。
案例豐富:把知識點融匯于系統(tǒng)的案例實訓當中,并且結合綜合案例進行講解和拓展,進而使讀者知其然,并知其所以然。
提示技巧:本書對讀者在學習過程中可能會遇到的疑難問題以提示和技巧的形式進行說明,以免讀者在學習的過程中走彎路。
超值資源:本書贈送示例源代碼、PPT課件、同步教學視頻、習題與答案、教學大綱與執(zhí)行進度表、30個熱門項目源代碼、面試資源庫和求職資源庫。
技術支持:本書以Python最佳的學習模式來設置內容結構。遇到問題可觀看本書同步教學視頻,也可以通過在線技術支持讓有經驗的程序員為你答疑解惑(作者答疑服務)。本書技術支持信息請查閱下載資源中的相關文件。
示例源代碼、PPT課件、同步教學視頻等資源下載
本書配套示例源代碼、PPT課件、同步教學視頻、習題與答案、教學大綱與執(zhí)行計劃表以及其他超值教學資源,需要用微信掃描下面的二維碼獲取。如果發(fā)現問題或者有任何建議,可通過郵件與作者聯系,電子郵箱為booksaga@163.com,郵件主題寫Python編程從零開始學(視頻教學版)。
讀者對象
Python程序開發(fā)初學者。
各領域Python程序開發(fā)人員。
高等院校和培訓機構的師生。
鳴 謝
本書由王英英主編,參與編寫的還有張工廠、劉增杰、胡同夫、劉玉萍、劉玉紅。本書的編寫雖然傾注了編者的心血,但由于水平有限、時間倉促,書中難免有疏漏之處,歡迎批評指正。如果遇到問題或有好的建議,敬請與我們聯系,我們將全力提供幫助。
編 者
2023年1月
王英英,從事Web應用開發(fā)多年,精通多種編程語言,對數據庫技術有深入研究。在Python編程、數據庫開發(fā)方面有著豐富的經驗,并已出版過多本相關暢銷書,受廣大讀者熟悉和認可。暢銷書有《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的基礎語法 7
2.1 標識符與關鍵字 7
2.2 變量 8
2.3 程序結構 9
2.3.1 縮進分層 9
2.3.2 換行問題 10
2.3.3 代碼注釋 10
2.4 Python的輸入和輸出 11
2.4.1 接收鍵盤輸入 11
2.4.2 輸出處理結果 12
2.5 認識模塊 13
第3章 基本數據類型和運算符 15
3.1 基本數據類型 15
3.1.1 數字類型 15
3.1.2 字符串類型 17
3.1.3 數據類型的相互轉換 18
3.2 運算符和優(yōu)先級 20
3.2.1 算術運算符 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 順序結構 32
4.3 選擇結構與語句 32
4.3.1 選擇結構 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章 容器類型的數據 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 內置的函數和方法 47
5.4 元組類型 51
5.4.1 認識元組類型 51
5.4.2 元組的常用操作 51
5.4.3 元組的內置函數 52
5.5 字典類型 54
5.5.1 認識字典類型 54
5.5.2 字典的常用操作 54
5.5.3 字典的內置函數和方法 55
第6章 字符串的應用 58
6.1 字符串的常用操作 58
6.1.1 訪問字符串中的值 58
6.1.2 分割指定范圍的字符 59
6.1.3 更新字符串 59
6.1.4 使用轉義字符 60
6.2 熟練使用字符串運算符 61
6.3 格式化字符串 62
6.4 內置的字符串方法 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章 函數 71
7.1 使用函數的優(yōu)勢 71
7.2 定義函數 72
7.3 函數的參數 72
7.3.1 必需參數 73
7.3.2 關鍵字參數 73
7.3.3 默認參數 74
7.3.4 可變參數 74
7.4 有返回值的函數和無返回值的函數 76
7.5 形參和實參 77
7.6 變量作用域 78
7.7 返回函數 79
7.8 遞歸函數 82
7.8.1 使用遞歸函數 82
7.8.2 利用遞歸函數解決漢諾塔問題 83
7.8.3 防止棧溢出 84
7.9 匿名函數 85
7.10 偏函數 86
第8章 類與對象 88
8.1 理解面向對象程序設計 88
8.1.1 什么是對象 88
8.1.2 面向對象的特征 89
8.1.3 什么是類 90
8.2 類的定義 90
8.3 類的構造方法 91
8.4 創(chuàng)建對象 92
8.5 類的繼承 94
8.6 類的多態(tài) 98
8.7 類的封裝 99
8.8 垃圾回收機制 101
第9章 異常處理和程序調試 103
9.1 什么是異常 103
9.2 常見錯誤和異常 104
9.3 熟悉內置異常 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 結束解釋器的運行 119
9.10.3 離開嵌套循環(huán) 120
9.11 自定義異常 120
9.12 程序調試 122
9.12.1 assert語句 122
9.12.2 __debug__內置變量 123
第10章 常用的內置模塊 124
10.1 math模塊 124
10.2 calendar模塊 125
10.3 time模塊 127
10.3.1 localtime([secs])函數 127
10.3.2 gmtime([secs])函數 127
10.3.3 mktime ([tuple ])函數 127
10.3.4 ctime([secs])函數 128
10.3.5 sleep(secs)函數 128
10.3.6 strptime(string [,format])函數 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 關閉文件 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 修改文件內容 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章 網絡通信和網絡爬蟲 186
13.1 網絡概要 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 什么是網絡爬蟲 198
13.6 網絡爬蟲的常用技術 198
13.6.1 網絡請求技術 198
13.6.2 請求headers處理 200
13.6.3 網絡超時問題 201
13.6.4 代理服務 202
13.7 Python解析XML 202
13.7.1 使用SAX解析XML 202
13.7.2 使用DOM解析XML 205
13.8 XDR數據交換格式 207
13.9 JSON數據解析 210
13.10 Python解析HTML 211
第14章 訪問數據庫 218
14.1 平面數據庫 218
14.2 內置數據庫SQLite 219
14.3 操作MySQL數據庫 222
14.3.1 安裝PyMySQL 222
14.3.2 連接MySQL數據庫 223
14.3.3 創(chuàng)建數據表 223
14.3.4 插入數據 224
14.3.5 查詢數據 225
14.3.6 更新數據 225
14.3.7 刪除數據 226
14.4 防止SQL注入 227
第15章 多線程 228
15.1 線程的相關知識 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 具體功能實現 238
16.4 項目測試 243
第17章 網絡爬蟲案例豆瓣電影評論的情感分析 245
17.1 項目分析 245
17.2 環(huán)境配置 246
17.3 具體功能實現 249
17.4 項目測試 252
第18章 大數據分析案例開發(fā)數據智能分類系統(tǒng) 254
18.1 項目分析 254
18.2 配置環(huán)境 255
18.3 具體功能實現 255
18.4 項目測試 259
第19章 數據挖掘案例話題模型和詞云可視化 261
19.1 項目分析 261
19.2 配置環(huán)境 262
19.3 具體功能實現 263
19.4 項目測試 266