本書從Python編程入門出發(fā),采用理論與實(shí)踐相結(jié)合的方式,通過對(duì)編程范式、數(shù)據(jù)結(jié)構(gòu)、程序調(diào)試技術(shù),以及實(shí)際應(yīng)用項(xiàng)目的講解,幫助讀者快速掌握Python語言編程基礎(chǔ)。
全書共12章,第1~4章介紹面向過程編程范式(順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu));第5章介紹函數(shù)式編程范式;第6章介紹面向?qū)ο缶幊谭妒剑、?duì)象、方法、屬性);第7~9章介紹Python數(shù)據(jù)結(jié)構(gòu)(列表、字典、數(shù)據(jù)框、字符串、文件等);第10章介紹程序調(diào)試技術(shù)(拋出異常);第11、12章通過實(shí)際應(yīng)用項(xiàng)目帶領(lǐng)讀者體驗(yàn)Python語言編程的兩個(gè)重要應(yīng)用場景(爬蟲、可視化)。
本書可以作為人工智能相關(guān)課程的教材,也可作為Python愛好者的參考書。
前言
第1章 面向過程編程范式:順序結(jié)構(gòu)1
1.1 初識(shí)Python1
1.1.1 你的第一個(gè)程序:初次見面打招呼1
1.1.2 常量、變量和賦值語句3
1.1.3 輸入與輸出5
1.1.4 編程風(fēng)格5
1.2 開發(fā)環(huán)境:Jupyter Notebook6
1.2.1 Anaconda安裝介紹6
1.2.2 Python編輯器介紹8
1.3 Python的優(yōu)勢(shì)及應(yīng)用場景12
1.4 本章小結(jié)13
習(xí)題113
第2章 數(shù)據(jù)及運(yùn)算15
2.1 數(shù)據(jù)及數(shù)據(jù)類型15
2.1.1 常量再認(rèn)識(shí)15
2.1.2 關(guān)鍵字16
2.1.3 數(shù)據(jù)類型:模擬市場結(jié)賬抹零行為16
2.2 運(yùn)算符與表達(dá)式17
2.2.1 運(yùn)算符17
2.2.2 表達(dá)式19
2.2.3 運(yùn)算符優(yōu)先級(jí)20
2.3 本章小結(jié)22
習(xí)題222
第3章 面向過程編程范式:選擇結(jié)構(gòu)25
3.1 if-else選擇結(jié)構(gòu)25
3.1.1 單分支:有條件結(jié)賬抹零25
3.1.2 雙分支:判斷回文數(shù)26
3.1.3 多分支:計(jì)算應(yīng)發(fā)放獎(jiǎng)金28
3.1.4 分支嵌套:快遞計(jì)費(fèi)系統(tǒng)30
3.2 三元操作選擇結(jié)構(gòu)32
3.3 本章小結(jié)32
習(xí)題333
第4章 面向過程編程范式:循環(huán)結(jié)構(gòu)37
4.1 for循環(huán)37
4.1.1 基本for循環(huán):重復(fù)打印一句話100遍37
4.1.2 for-else循環(huán):素?cái)?shù)判定39
4.2 while循環(huán)結(jié)構(gòu)40
4.2.1 while循環(huán):累加和40
4.2.2 break和continue:條件累加和42
4.3 嵌套循環(huán):字符圖形43
4.4 本章小結(jié)45
習(xí)題446
第5章 函數(shù)式編程范式51
5.1 函數(shù)定義和調(diào)用51
5.1.1 函數(shù)定義51
5.1.2 函數(shù)調(diào)用:驗(yàn)證哥德巴赫猜想52
5.1.3 參數(shù)傳遞54
5.2 函數(shù)的嵌套和遞歸57
5.2.1 函數(shù)嵌套 57
5.2.2 函數(shù)遞歸:n的階乘58
5.3 命名空間和變量作用域59
5.3.1 命名空間59
5.3.2 變量作用域60
5.3.3 命名空間和作用域之間關(guān)系62
5.4 匿名函數(shù)63
5.5 程序入口63
5.6 本章小結(jié)64
習(xí)題565
第6章 面向?qū)ο缶幊谭妒?9
6.1 面向?qū)ο缶幊谈攀?9
6.2 封裝71
6.2.1 定義類71
6.2.2 對(duì)象:統(tǒng)計(jì)實(shí)例化次數(shù)71
6.2.3 類成員73
6.3 繼承76
6.3.1 繼承原理76
6.3.2 定義子類77
6.3.3 使用父類78
6.4 多態(tài)79
6.5 模塊81
6.5.1 模塊分類81
6.5.2 模塊導(dǎo)入82
6.5.3 模塊使用83
6.5.4 內(nèi)置的標(biāo)準(zhǔn)模塊89
6.6 本章小結(jié)91
習(xí)題693
第7章 數(shù)據(jù)結(jié)構(gòu)96
7.1 列表96
7.1.1 列表創(chuàng)建96
7.1.2 列表元素獲取97
7.1.3 列表統(tǒng)計(jì)與判斷:計(jì)算器模擬98
7.1.4 列表擴(kuò)充100
7.1.5 列表刪除101
7.1.6 列表排序101
7.2 元組101
7.2.1 元組創(chuàng)建102
7.2.2 獲取元組元素102
7.2.3 合并元組103
7.3 字典103
7.3.1 字典創(chuàng)建103
7.3.2 獲取字典元素:賬號(hào)密碼登錄模擬105
7.3.3 添加字典元素108
7.3.4 刪除字典元素108
7.3.5 修改字典元素109
7.3.6 字典其他操作109
7.4 集合110
7.4.1 集合創(chuàng)建110
7.4.2 添加集合元素111
7.4.3 移除集合元素111
7.4.4 集合統(tǒng)計(jì)及判斷112
7.4.5 專門集合運(yùn)算:生詞本113
7.5 推導(dǎo)式117
7.5.1 列表推導(dǎo)式117
7.5.2 字典推導(dǎo)式118
7.5.3 集合推導(dǎo)式119
7.6 數(shù)據(jù)框119
7.6.1 數(shù)據(jù)框創(chuàng)建119
7.6.2 獲取數(shù)據(jù)框元素121
7.6.3 添加數(shù)據(jù)框元素122
7.6.4 刪除數(shù)據(jù)框元素122
7.6.5 修改數(shù)據(jù)框元素122
7.6.6 數(shù)據(jù)框統(tǒng)計(jì)分析123
7.6.7 模擬SQL124
7.7 本章小結(jié)126
習(xí)題7127
第8章 字符串處理132
8.1 字符串格式化132
8.1.1 使用%格式化132
8.1.2 使用{}和format格式化133
8.1.3 大小寫轉(zhuǎn)換134
8.2 轉(zhuǎn)義字符134
8.3 字符串操作135
8.3.1 字符串切片訪問:判斷回文數(shù)136
8.3.2 字符串拼接:文本進(jìn)度條137
8.3.3 字符串分割139
8.3.4 字符串子串查找139
8.3.5 字符串替換:模擬注冊(cè)驗(yàn)證141
8.3.6 字符串刪除143
8.3.7 字符串統(tǒng)計(jì)與判斷144
8.4 正則表達(dá)式145
8.4.1 正則表達(dá)式作用145
8.4.2 正則表達(dá)式語法145
8.4.3 正則表達(dá)式匹配方法:驗(yàn)證手機(jī)號(hào)碼格式147
8.5 本章小結(jié)149
習(xí)題8149
第9章 文件152
9.1 文件打開與關(guān)閉152
9.2 文件讀寫操作154
9.2.1 寫文件154
9.2.2 讀文件155
9.2.3 文件復(fù)制157
9.2.4 文件定位158
9.3 文件夾操作160
9.3.1 與文件操作有關(guān)的模塊160
9.3.2 文本詞頻統(tǒng)計(jì)161
9.4 文件格式162
9.4.1 JSON文件讀寫162
9.4.2 CSV文件讀寫164
9.5 本章小結(jié)165
習(xí)題9165
第10章 異常168
10.1 錯(cuò)誤和異常168
10.1.1 概述168
10.1.2 語法錯(cuò)誤169
10.1.3 異常170
10.2 捕獲異常173
10.2.1 try-except173
10.2.2 try-except-else175
10.2.3 try-except-finally176
10.2.4 包含多個(gè)except異常處理177
10.3 拋出異常178
10.3.1 raise 語句:輸出空心字符矩形圖形178
10.3.2 assert 語句:驗(yàn)證錄入的成績合法180
10.4 用戶自定義異常:驗(yàn)證輸入的性別是否合法181
10.5 本章小結(jié)182
習(xí)題10183
第11章 爬蟲186
11.1 認(rèn)識(shí)HTML186
11.2 XPath189
11.3 爬蟲原理192
11.4 爬蟲編程193
11.4.1 常用模塊193
11.4.2 Python爬蟲入門實(shí)例196
11.4.3 利用XPath爬取網(wǎng)站信息198
11.4.4 JSON格式與CSV格式相互轉(zhuǎn)換201
11.5 本章小結(jié)202
習(xí)題11202
第12章 可視化205
12.1 一圖勝千言205
12.2 可視化圖表作用206
12.3 Matplotlib模塊207
12.3.1 面板設(shè)置207
12.3.2 小初高在校人數(shù)柱狀圖對(duì)比210
12.3.3 泰坦尼克號(hào)乘客年齡分布直方圖212
12.3.4 票房與票價(jià)相關(guān)散點(diǎn)圖215
12.3.5 城市高中人數(shù)占比餅圖217
12.3.6 訪問量折線圖218
12.3.7 箱線圖發(fā)現(xiàn)異常值220
12.3.8 空氣質(zhì)量熱力圖224
12.3.9 員工能力雷達(dá)圖227
12.3.10 產(chǎn)品銷量樹形圖232
12.4 本章小結(jié)233
習(xí)題12234
參考文獻(xiàn)236