Python語(yǔ)言從入門到精通循序漸進(jìn)地講解了使用Python語(yǔ)言的核心知識(shí),并通過(guò)具體實(shí)例的實(shí)現(xiàn)過(guò)程講解了各知識(shí)點(diǎn)的使用方法和流程。Python語(yǔ)言從入門到精通共22章,內(nèi)容包括Python語(yǔ)言基礎(chǔ)、Python語(yǔ)法基礎(chǔ)、基本數(shù)據(jù)類型、運(yùn)算符和表達(dá)式、條件語(yǔ)句、循環(huán)語(yǔ)句、數(shù)據(jù)結(jié)構(gòu)、函數(shù)、類和對(duì)象、文件操作處理、異常處理、標(biāo)準(zhǔn)庫(kù)函數(shù)、正則表達(dá)式、開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用程序、多線程開(kāi)發(fā)、tkinter圖形化界面開(kāi)發(fā)、數(shù)據(jù)庫(kù)操作、使用Pygame開(kāi)發(fā)游戲、Django Web開(kāi)發(fā)詳解、開(kāi)發(fā)網(wǎng)絡(luò)爬蟲、使用matplotlib實(shí)現(xiàn)數(shù)據(jù)可視化和在線商城系統(tǒng)。Python語(yǔ)言從入門到精通簡(jiǎn)潔而不失技術(shù)深度,內(nèi)容豐富全面。不僅易于閱讀,同時(shí)涵蓋了其他同類圖書中很少涉及的參考資料,是學(xué)習(xí)Python語(yǔ)言的實(shí)用教程。
Python語(yǔ)言從入門到精通不僅適用于完全零基礎(chǔ)的讀者,而且適用于希望進(jìn)一步提高自己Python開(kāi)發(fā)水平的讀者,還可作為大中專院校相關(guān)專業(yè)和培訓(xùn)學(xué)校師生的專業(yè)教材。
目錄
前言
第1章 Python語(yǔ)言基礎(chǔ)1
1.1 Python語(yǔ)言介紹1
1.1.1 Python語(yǔ)言的地位1
1.1.2 Python語(yǔ)言的優(yōu)點(diǎn)2
1.2 安裝Python3
1.2.1 在Windows系統(tǒng)中下載并安裝Python3
1.2.2 在Mac系統(tǒng)中下載并安裝Python5
1.2.3 在Linux系統(tǒng)中下載并安裝Python6
1.3 Python開(kāi)發(fā)工具介紹6
1.3.1 使用Python自帶的開(kāi)發(fā)工具IDLE6
1.3.2 使用流行工具PyCharm7
1.4 認(rèn)識(shí)第一段Python程序10
1.4.1 使用IDLE編碼并運(yùn)行10
1.4.2 使用命令行方式運(yùn)行Python程序11
1.4.3 使用交互式方式運(yùn)行Python程序12
1.4.4 使用PyCharm實(shí)現(xiàn)第一個(gè)Python程序13
1.5 課后練習(xí)15
第2章 Python語(yǔ)法基礎(chǔ)16
2.1 嚴(yán)格的縮進(jìn)規(guī)則16
2.2 注釋18
2.3 編碼19
2.3.1 字符編碼19
2.3.2 Python中的編碼20
2.4 標(biāo)識(shí)符和關(guān)鍵字21
2.5 變量22
2.5.1 聲明變量22
2.5.2 局部變量24
2.5.3 全局變量25
2.6 輸入和輸出26
2.6.1 實(shí)現(xiàn)輸入功能26
2.6.2 實(shí)現(xiàn)輸出功能26
2.7 課后練習(xí)28
第3章 基本數(shù)據(jù)類型29
3.1 字符串29
3.1.1 Python字符串介紹29
3.1.2 訪問(wèn)字符串中的值30
3.1.3 修改字符串30
3.1.4 轉(zhuǎn)義字符31
3.1.5 格式化字符串32
3.1.6 字符串處理函數(shù)33
3.2 數(shù)字類型34
3.2.1 整型34
3.2.2 浮點(diǎn)型35
3.2.3 布爾型35
3.2.4 復(fù)數(shù)型36
3.3 課后練習(xí)37
第4章 運(yùn)算符和表達(dá)式38
4.1 什么是運(yùn)算符和表達(dá)式38
4.2 算術(shù)運(yùn)算符和算術(shù)表達(dá)式39
4.3 比較運(yùn)算符和比較表達(dá)式40
4.4 賦值運(yùn)算符和賦值表達(dá)式42
4.4.1 基本賦值運(yùn)算符和表達(dá)式42
4.4.2 復(fù)合賦值運(yùn)算符和表達(dá)式43
4.5 位運(yùn)算符和位表達(dá)式44
4.6 邏輯運(yùn)算符和邏輯表達(dá)式45
4.7 成員運(yùn)算符和成員表達(dá)式47
4.8 身份運(yùn)算符和身份表達(dá)式48
4.8.1 使用身份運(yùn)算符和身份表達(dá)式48
4.8.2 is運(yùn)算符和==運(yùn)算符的區(qū)別49
4.9 運(yùn)算符的優(yōu)先級(jí)50
4.10 課后練習(xí)51
第5章 條件語(yǔ)句52
5.1 if語(yǔ)句52
5.2 if…else語(yǔ)句53
5.3 if…elif…else語(yǔ)句54
5.4 if語(yǔ)句的嵌套55
5.5 實(shí)現(xiàn)switch語(yǔ)句的功能56
5.6 課后練習(xí)57
第6章 循環(huán)語(yǔ)句58
6.1 for循環(huán)語(yǔ)句58
6.1.1 基本的for循環(huán)語(yǔ)句58
6.1.2 通過(guò)遍歷方式實(shí)現(xiàn)循環(huán)59
6.1.3 for…else循環(huán)語(yǔ)句60
6.1.4 嵌套for循環(huán)語(yǔ)句61
6.2 while循環(huán)語(yǔ)句62
6.2.1 基本的while循環(huán)語(yǔ)句62
6.2.2 while…else循環(huán)語(yǔ)句63
6.2.3 解決死循環(huán)問(wèn)題64
6.2.4 嵌套的while循環(huán)語(yǔ)句65
6.3 跳轉(zhuǎn)語(yǔ)句65
6.3.1 break語(yǔ)句66
6.3.2 continue語(yǔ)句66
6.3.3 pass語(yǔ)句67
6.4 課后練習(xí)68
第7章 數(shù)據(jù)結(jié)構(gòu)69
7.1 列表69
7.1.1 列表的基本用法69
7.1.2 刪除列表中的重復(fù)元素并保持順序不變71
7.1.3 找出列表中出現(xiàn)次數(shù)最多的元素72
7.1.4 排序類定義的實(shí)例73
7.1.5 使用列表推導(dǎo)式74
7.2 元組76
7.2.1 創(chuàng)建并訪問(wèn)元組76
7.2.2 修改元組77
7.2.3 刪除元組78
7.2.4 使用內(nèi)置方法操作元組78
7.2.5 將序列分解為單獨(dú)的變量79
7.3 字典80
7.3.1 創(chuàng)建并訪問(wèn)字典81
7.3.2 添加、修改、刪除字典元素82
7.3.3 映射多個(gè)值83
7.3.4 使用字典實(shí)現(xiàn)switch語(yǔ)句的功能85
7.4 集合85
7.5 數(shù)據(jù)類型轉(zhuǎn)換86
7.5.1 內(nèi)置類型轉(zhuǎn)換函數(shù)86
7.5.2 類型轉(zhuǎn)換綜合演練88
7.6 課后練習(xí)89
第8章 函數(shù)90
8.1 函數(shù)基礎(chǔ)90
8.1.1 定義函數(shù)90
8.1.2 調(diào)用函數(shù)91
8.2 函數(shù)的參數(shù)92
8.2.1 形參和實(shí)參92
8.2.2 必需參數(shù)93
8.2.3 關(guān)鍵字參數(shù)93
8.2.4 默認(rèn)參數(shù)94
8.2.5 不定長(zhǎng)參數(shù)95
8.2.6 按值傳遞和按引用傳遞96
8.3 函數(shù)的返回值97
8.3.1 返回一個(gè)簡(jiǎn)單值97
8.3.2 可選實(shí)參97
8.3.3 返回一個(gè)字典98
8.4 變量的作用域99
8.5 使用函數(shù)傳遞列表100
8.5.1 訪問(wèn)列表中的元素101
8.5.2 在函數(shù)中修改列表101
8.6 使用匿名函數(shù)102
8.7 函數(shù)和模塊開(kāi)發(fā)103
8.7.1 導(dǎo)入整個(gè)模塊文件103
8.7.2 只導(dǎo)入指定的函數(shù)105
8.7.3 使用as指定函數(shù)別名106
8.8 課后練習(xí)106
第9章 類和對(duì)象107
9.1 面向?qū)ο蠡A(chǔ)107
9.1.1 什么是面向?qū)ο?07
9.1.2 面向?qū)ο蟮膸讉(gè)核心概念108
9.2 類108
9.2.1 定義一個(gè)類108
9.2.2 定義并使用類109
9.3 對(duì)象110
9.4 類方法110
9.4.1 定義并使用類方法111
9.4.2 構(gòu)造方法111
9.4.3 方法調(diào)用113
9.4.4 在類中創(chuàng)建多個(gè)實(shí)例114
9.4.5 使用私有方法115
9.4.6 析構(gòu)方法117
9.4.7 靜態(tài)方法117
9.5 屬性118
9.5.1 定義并使用類屬性和實(shí)例屬性119
9.5.2 設(shè)置屬性的默認(rèn)值120
9.5.3 修改屬性的值122
9.5.4 使用私有屬性124
9.6 繼承125
9.6.1 定義子類125
9.6.2 在子類中定義方法和屬性126
9.7 課后練習(xí)127
第10章 文件操作處理128
10.1 使用open()函數(shù)打開(kāi)文件128
10.2 使用File操作文件129
10.2.1 File對(duì)象介紹129
10.2.2 方法close()130
10.2.3 方法flush()131
10.2.4 方法fileno()132
10.2.5 方法isatty()132
10.2.6 方法next()133
10.2.7 方法read()134
10.2.8 方法readline()134
10.2.9 方法readlines()135
10.2.10 方法seek()136
10.2.11 方法tell()137
10.2.12 方法truncate()138
10.2.13 方法writelines()139
10.3 OS對(duì)象139
10.3.1 OS對(duì)象介紹140
10.3.2 方法access()142
10.3.3 方法chdir()143
10.3.4 方法chmod()144
10.3.5 打開(kāi)、寫入和關(guān)閉145
10.3.6 讀取操作147
10.3.7 方法mkdir()147
10.3.8 方法makedirs()148
10.3.9 獲取目錄下的信息149
10.3.10 修改目錄150
10.4 課后練習(xí)152
第11章 異常處理153
11.1 常見(jiàn)的語(yǔ)法錯(cuò)誤153
11.1.1 代碼拼寫錯(cuò)誤153
11.1.2 編寫的程序不符合Python語(yǔ)法規(guī)范154
11.1.3 縮進(jìn)錯(cuò)誤154
11.2 捕獲并處理異常155
11.2.1 使用try…except處理異常155
11.2.2 使用try…except…else處理異常157
11.2.3 使用try…except…finally處理異常158
11.3 拋出異常159
11.3.1 使用raise拋出異常159
11.3.2 使用assert語(yǔ)句160
11.3.3 自定義異常161
11.4 內(nèi)置異常類162
11.4.1 處理ZeroDivisionError異常163
11.4.2 處理FileNotFoundError異常164
11.4.3 使用except捕獲異常165
11.5 課后練習(xí)165
第12章 標(biāo)準(zhǔn)庫(kù)函數(shù)166
12.1 字符串處理函數(shù)166
12.1.1 分割字符串166
12.1.2 字符串開(kāi)頭和結(jié)尾處理168
12.1.3 實(shí)現(xiàn)字符串匹配處理169
12.1.4 文本查找和替換170
12.2 數(shù)字處理函數(shù)172
12.2.1 使用math模塊實(shí)現(xiàn)數(shù)學(xué)運(yùn)算172
12.2.2 使用decimal模塊實(shí)現(xiàn)精確運(yùn)算178
12.3 日期和時(shí)間函數(shù)179
12.3.1 使用時(shí)間模塊179
12.3.2 使用Calendar日歷模塊183
12.4 課后練習(xí)186
第13章 正則表達(dá)式187
13.1 基本語(yǔ)法187
13.1.1 普通字符187
13.1.2 非打印字符188
13.1.3 特殊字符188
13.1.4 限定符192
13.1.5 定位符194
13.1.6 限定范圍和否定196
13.1.7 運(yùn)算符的匹配優(yōu)先級(jí)196
13.2 re模塊197
13.2.1 re模塊庫(kù)函數(shù)介紹197
13.2.2 函數(shù)compile()198
13.2.3 函數(shù)match()198
13.2.4 函數(shù)search()200
13.2.5 函數(shù)findall()201
13.3 課后練習(xí)202
第14章 開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用程序203
14.1 socket套接字編程203
14.1.1 庫(kù)socket內(nèi)置函數(shù)和屬性203
14.1.2 對(duì)象socket的內(nèi)置函數(shù)和屬性205
14.1.3 使用socket建立TCP“客戶端/服務(wù)器端”連接207
14.1.4 使用socket建立UDP“客戶端/服務(wù)器端”連接209
14.2 socketserver編程211
14.2.1 socketserver模塊基礎(chǔ)211
14.2.2 使用socketserver創(chuàng)建TCP“客戶端/服務(wù)器端”程序212
14.3 使用select模塊實(shí)現(xiàn)多路I/O復(fù)用213
14.3.1 select模塊介紹213
14.3.2 使用select同時(shí)監(jiān)聽(tīng)多個(gè)端口214
14.3.3 I/O多路復(fù)用并實(shí)現(xiàn)讀寫分離216
14.4 urllib包217
14.4.1 urllib包介紹217
14.4.2 urllib.request 模塊218
14.4.3 urllib.parse模塊220
14.5 收發(fā)電子郵件222
14.5.1 開(kāi)發(fā)POP3郵件協(xié)議程序222
14.5.2 開(kāi)發(fā)SMTP郵件協(xié)議程序224
14.6 課后練習(xí)225
第15章 多線程開(kāi)發(fā)226
15.1 _thread模塊226
15.1.1 _thread 模塊介紹226
15.1.2 使用_thread模塊228
15.2 threading模塊228
15.2.1 threading模塊的核心方法229
15.2.2 Thread類229
15.2.3 Lock和RLock對(duì)象232
15.3 multiprocessing庫(kù)235
15.3.1 threading和multiprocessing的關(guān)系235
15.3.2 Process類235
15.4 課后練習(xí)238
第16章 tkinter圖形化界面開(kāi)發(fā)239
16.1 tkinter開(kāi)發(fā)基礎(chǔ)239
16.1.1 第一個(gè)tkinter程序239
16.1.2 向窗體中添加組件240
16.2 tkinter組件開(kāi)發(fā)241
16.2.1 tkinter組件概覽241
16.2.2 按鈕控件243
16.2.3 文本框控件244
16.2.4 菜單控件247
16.2.5 標(biāo)簽控件248
16.2.6 單選按鈕和復(fù)選按鈕控件250
16.2.7 繪圖控件252
16.3 庫(kù)tkinter的事件254
16.3.1 tkinter事件基礎(chǔ)254
16.3.2 創(chuàng)建一個(gè)“英尺/米”轉(zhuǎn)換器256
16.4 課后練習(xí)258
第17章 數(shù)據(jù)庫(kù)操作259
17.1 操作sqlite3數(shù)據(jù)庫(kù)259
17.1.1 sqlite3模塊介紹259
17.1.2 使用sqlite3模塊操作sqlite3數(shù)據(jù)庫(kù)266
17.1.3 sqlite3和Python的類型268
17.2 操作MySQL數(shù)據(jù)庫(kù)273
17.2.1 搭建PyMySQL環(huán)境273
17.2.2 實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接274
17.2.3 創(chuàng)建數(shù)據(jù)庫(kù)表275
17.2.4 數(shù)據(jù)庫(kù)插入操作276
17.2.5 數(shù)據(jù)庫(kù)查詢操作277
17.2.6 數(shù)據(jù)庫(kù)更新操作278
17.2.7 數(shù)據(jù)庫(kù)刪除操作279
17.3 使用MariaDB數(shù)據(jù)庫(kù)280
17.3.1 搭建MariaDB數(shù)據(jù)庫(kù)環(huán)境280
17.3.2 在Python程序中使用MariaDB數(shù)據(jù)庫(kù)282
17.4 課后練習(xí)285
第18章 使用Pygame開(kāi)發(fā)游戲286
18.1 安裝Pygame286
18.2 Pygame開(kāi)發(fā)基礎(chǔ)287
18.2.1 Pygame框架中的模塊287
18.2.2 開(kāi)發(fā)第一個(gè)Pygame程序288
18.2.3 事件操作290
18.2.4 設(shè)置顯示模式293
18.2.5 設(shè)置字體294
18.2.6 設(shè)置像素和顏色296
18.2.7 使用Surface繪制圖像297
18.3 開(kāi)發(fā)一個(gè)仿微信打飛機(jī)游戲298
18.4 課后練習(xí)304
第19章 Django Web開(kāi)發(fā)詳解305
19.1 Django框架介紹305
19.2 Django開(kāi)發(fā)基礎(chǔ)306
19.2.1 搭建Django環(huán)境306
19.2.2 常用的Django命令306
19.2.3 Django的MVC設(shè)計(jì)模式308
19.3 實(shí)現(xiàn)第一個(gè)Django工程309
19.4 在URL中傳遞參數(shù)312
19.4.1 URL的運(yùn)行流程312
19.4.2 兩個(gè)傳參方法path和_re_path313
19.4.3 URL的命名和方法reverse()314
19.4.4 URL指向基于類的視圖314
19.4.5 通過(guò)URL方法傳遞額外的參數(shù)315
19.4.6 實(shí)戰(zhàn)演練:使用Django框架實(shí)現(xiàn)URL參數(shù)相加315
19.5 使用視圖View318
19.5.1 分析視圖View的作用318
19.5.2 使用簡(jiǎn)易視圖View文件實(shí)例320
19.6 使用表單322
19.7 課后練習(xí)324
第20章 開(kāi)發(fā)網(wǎng)絡(luò)爬蟲325
20.1 網(wǎng)絡(luò)爬蟲介紹325
20.2 Beautiful Soup326
20.2.1 安裝Beautiful Soup326
20.2.2 使用BeautifulSoup326
20.3 XPath329
20.3.1 安裝XPath329
20.3.2 使用XPath330
20.4 抓取XX百科的文字信息332
20.4.1 系統(tǒng)介紹332
20.4.2 確定URL并抓取頁(yè)面代碼332
20.4.3 提取某一頁(yè)的所有段子333
20.5 使用爬蟲框架Scrapy336
20.5.1 Scrapy框架基礎(chǔ)336
20.5.2 搭建Scrapy環(huán)境337
20.5.3 創(chuàng)建第一個(gè)Scrapy項(xiàng)目338
20.6 課后練習(xí)342
第21章 使用matplotlib實(shí)現(xiàn)數(shù)據(jù)可視化343
21.1 搭建matplotlib環(huán)境343
21.2 初級(jí)繪圖345
21.2.1 繪制點(diǎn)345
21.2.2 繪制折線346
21.2.3 設(shè)置標(biāo)簽文字和線條粗細(xì)347
21.2.4 自定義散點(diǎn)圖樣式348
21.2.5 繪制柱狀圖350
21.2.6 繪制多幅子圖353
21.2.7 繪制曲線354
21.3 大數(shù)據(jù)分析某年最高溫度和最低溫度356
21.4 在tkinter中使用Matplotlib繪制圖表357
21.5 課后練習(xí)359
第22章 在線商城系統(tǒng)360
22.1 項(xiàng)目規(guī)劃分析360
22.1.1 電子商務(wù)的簡(jiǎn)要介紹360
22.1.2 在線商城系統(tǒng)構(gòu)成模塊361
22.2 使用第三方庫(kù)Mezzanine和Cartridge362
22.2.1 使用庫(kù)Mezzanine362
22.2.2 使用庫(kù)Cartridge365
22.3 實(shí)現(xiàn)基本功能368
22.3.1 項(xiàng)目配置368
22.3.2 后臺(tái)模塊369
22.3.3 博客模塊370
22.3.4 商品展示模塊373
22.4 在線購(gòu)物375
22.4.1 購(gòu)物車頁(yè)面375
22.4.2 訂單詳情頁(yè)面376
22.4.3 在線支付頁(yè)面378
22.4.4 訂單確認(rèn)頁(yè)面379
22.4.5 訂單完成發(fā)送郵件提醒380