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