第一部分 基 礎(chǔ) 篇
第1章 Python概述 2
1.1 初識(shí)Python 2
1.1.1 什么是Python 2
1.1.2 Python的特點(diǎn) 4
1.1.3 Python各版本之間的差異 5
1.2 開始Python編程 5
1.2.1 下載和安裝Python 5
1.2.2 執(zhí)行Python腳本文件 6
1.2.3 Python語(yǔ)言的基本語(yǔ)法 7
1.2.4 下載和安裝Pywin32 7
1.3 Python自帶文本編輯器IDLE的使用方法 9
1.3.1 打開IDLE 9
1.3.2 新建Python腳本 9
1.3.3 保存Python腳本 9
1.3.4 打開Python腳本 10
1.3.5 語(yǔ)法高亮功能 10
1.3.6 自動(dòng)完成功能 10
1.3.7 語(yǔ)法提示功能 10
1.3.8 運(yùn)行Python程序 11
1.3.9 IDLE的菜單項(xiàng) 11
1.4 流行的Python集成開發(fā)環(huán)境PyCharm 13
1.4.1 下載和安裝PyCharm 13
1.4.2 PyCharm的使用方法 14
本章練習(xí) 17
第2章 Python語(yǔ)言基礎(chǔ) 19
2.1 常量和變量 19
2.1.1 常量 19
2.1.2 Python中數(shù)的類型與字符串 21
2.1.3 變量 24
2.2 數(shù)據(jù)類型 26
2.2.1 簡(jiǎn)單數(shù)據(jù)類型轉(zhuǎn)換 26
2.2.2 列表 28
2.2.3 元組 34
2.2.4 字典 36
2.2.5 集合 39
2.3 運(yùn)算符和表達(dá)式 45
2.3.1 運(yùn)算符 45
2.3.2 表達(dá)式 48
2.4 Python對(duì)象 49
2.4.1 面向?qū)ο蟪绦蛟O(shè)計(jì)思想概述 49
2.4.2 定義和使用類 50
2.4.3 類的靜態(tài)成員 53
2.4.4 類方法 54
2.4.5 使用isinstance()函數(shù)判斷對(duì)象類型 55
2.4.6 類的繼承和多態(tài) 56
2.4.7 對(duì)象的序列化 59
2.4.8 對(duì)象的賦值 62
本章練習(xí) 62
第3章 常用Python語(yǔ)句 64
3.1 賦值語(yǔ)句 64
3.1.1 通過賦值語(yǔ)句實(shí)現(xiàn)序列解包 64
3.1.2 鏈?zhǔn)劫x值 65
3.2 控制語(yǔ)句 65
3.2.1 條件分支語(yǔ)句 65
3.2.2 循環(huán)語(yǔ)句 68
3.3 異常處理語(yǔ)句 70
本章練習(xí) 71
第4章 Python函數(shù) 73
4.1 聲明和調(diào)用函數(shù) 73
4.1.1 聲明函數(shù) 73
4.1.2 調(diào)用函數(shù) 74
4.2 參數(shù)和返回值 75
4.2.1 在函數(shù)中傳遞參數(shù) 75
4.2.2 函數(shù)的返回值 80
4.3 全局變量和局部變量 80
4.3.1 變量的作用域 80
4.3.2 在IDLE的調(diào)試窗口中查看變量的值 81
4.3.3 在PyCharm的調(diào)試窗口中查看變量的值 83
4.4 常用Python內(nèi)置函數(shù) 84
4.4.1 數(shù)學(xué)運(yùn)算函數(shù) 84
4.4.2 字符串處理函數(shù) 85
4.5 函數(shù)式編程 88
4.5.1 函數(shù)式編程概述 89
4.5.2 Python函數(shù)式編程常用的函數(shù) 90
4.5.3 普通編程方式與函數(shù)式編程的對(duì)比 94
4.6 閉包和遞歸函數(shù) 95
4.6.1 閉包 95
4.6.2 遞歸函數(shù) 95
4.7 迭代器和生成器 96
4.7.1 迭代器 96
4.7.2 生成器 97
本章練習(xí) 97
第5章 Python模塊 100
5.1 模塊的基本概念 100
5.1.1 什么是模塊 100
5.1.2 如何導(dǎo)入模塊 101
5.2 Python標(biāo)準(zhǔn)庫(kù)中的常用模塊 102
5.2.1 sys模塊 102
5.2.2 platform模塊 104
5.2.3 與數(shù)學(xué)有關(guān)的模塊 107
5.2.4 time模塊 112
5.3 自定義和使用模塊 114
5.3.1 創(chuàng)建自定義模塊 114
5.3.2 使用自定義模塊 114
本章練習(xí) 115
第6章 I/O編程 116
6.1 輸入和顯示數(shù)據(jù) 116
6.1.1 輸入數(shù)據(jù) 116
6.1.2 輸出數(shù)據(jù) 117
6.2 文件操作 119
6.2.1 打開文件 119
6.2.2 關(guān)閉文件 120
6.2.3 讀取文件內(nèi)容 120
6.2.4 向文件中寫入數(shù)據(jù) 122
6.2.5 文件指針 123
6.2.6 截?cái)辔募?24
6.2.7 文件屬性 125
6.2.8 復(fù)制文件 126
6.2.9 移動(dòng)文件 126
6.2.10 刪除文件 127
6.2.11 重命名文件 127
6.3 目錄編程 127
6.3.1 獲取當(dāng)前目錄 127
6.3.2 獲取目錄內(nèi)容 127
6.3.3 創(chuàng)建目錄 128
6.3.4 刪除目錄 128
本章練習(xí) 128
第二部分 高 級(jí) 篇
第7章 使用Python程序控制
計(jì)算機(jī) 130
7.1 遠(yuǎn)程控制實(shí)例的需求分析 130
7.2 CMD命令 131
7.2.1 執(zhí)行CMD命令 131
7.2.2 在Python程序中執(zhí)行CMD命令 133
7.3 電子郵件編程 135
7.3.1 SMTP編程 136
7.3.2 POP編程 139
7.4 Python遠(yuǎn)程操控計(jì)算機(jī)的實(shí)例 143
7.4.1 發(fā)送指令端程序 143
7.4.2 接收指令端程序 144
本章練習(xí) 145
第8章 Python數(shù)據(jù)結(jié)構(gòu) 146
8.1 Python數(shù)據(jù)結(jié)構(gòu)概述 146
8.1.1 什么是數(shù)據(jù)結(jié)構(gòu) 146
8.1.2 數(shù)據(jù)結(jié)構(gòu)和算法的關(guān)系 147
8.2 !147
8.2.1 棧的工作原理 147
8.2.2 利用Python列表實(shí)現(xiàn)棧的數(shù)據(jù)結(jié)構(gòu) 148
8.3 隊(duì)列 150
8.3.1 隊(duì)列的工作原理 150
8.3.2 利用Python列表實(shí)現(xiàn)隊(duì)列的數(shù)據(jù)結(jié)構(gòu) 151
8.4 樹 153
8.4.1 樹的工作原理 153
8.4.2 遍歷二叉樹 154
8.4.3 在Python程序中實(shí)現(xiàn)樹的數(shù)據(jù)結(jié)構(gòu) 154
8.5 鏈表 157
8.5.1 鏈表的工作原理 157
8.5.2 利用Python實(shí)現(xiàn)單向鏈表的數(shù)據(jù)結(jié)構(gòu) 158
本章練習(xí) 161
第9章 多任務(wù)編程 162
9.1 多進(jìn)程編程 162
9.1.1 進(jìn)程的概念 162
9.1.2 進(jìn)程的狀態(tài) 163
9.2 進(jìn)程編程 163
9.2.1 創(chuàng)建進(jìn)程 163
9.2.2 枚舉系統(tǒng)進(jìn)程 167
9.3 多線程編程 170
9.3.1 線程的概念 170
9.3.2 threading模塊 171
本章練習(xí) 183
第10章 Python網(wǎng)絡(luò)編程 185
10.1 網(wǎng)絡(luò)通信模型和TCP/IP協(xié)議簇 185
10.1.1 OSI參考模型 185
10.1.2 TCP/IP協(xié)議簇體系結(jié)構(gòu) 186
10.2 Socket編程 188
10.2.1 Socket的工作原理和基本概念 188
10.2.2 基于TCP的Socket編程 189
10.2.3 基于UDP的Socket編程 193
本章練習(xí) 194
第11章 Python數(shù)據(jù)庫(kù)編程 196
11.1 數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ) 196
11.1.1 數(shù)據(jù)庫(kù)的基本概念 196
11.1.2 關(guān)系數(shù)據(jù)庫(kù) 198
11.2 SQLite數(shù)據(jù)庫(kù) 198
11.2.1 下載和安裝SQLite數(shù)據(jù)庫(kù) 198
11.2.2 創(chuàng)建SQLite數(shù)據(jù)庫(kù) 199
11.2.3 數(shù)據(jù)類型 199
11.2.4 創(chuàng)建表 200
11.2.5 向表中添加列 202
11.2.6 向表中插入數(shù)據(jù) 202
11.2.7 修改表中的數(shù)據(jù) 203
11.2.8 刪除數(shù)據(jù) 204
11.2.9 查詢數(shù)據(jù) 204
11.2.10 在Python中訪問SQLite數(shù)據(jù)庫(kù) 205
11.3 MySQL數(shù)據(jù)庫(kù) 207
11.3.1 安裝MySQL數(shù)據(jù)庫(kù) 207
11.3.2 MySQL-Front 209
11.3.3 創(chuàng)建數(shù)據(jù)庫(kù) 210
11.3.4 刪除數(shù)據(jù)庫(kù) 211
11.3.5 MySQL數(shù)據(jù)類型 211
11.3.6 創(chuàng)建表 212
11.3.7 編輯和查看表 215
11.3.8 刪除表 215
11.3.9 插入數(shù)據(jù) 215
11.3.10 修改數(shù)據(jù) 217
11.3.11 刪除數(shù)據(jù) 218
11.3.12 使用SELECT語(yǔ)句查詢數(shù)據(jù) 218
11.3.13 在Python中訪問MySQL數(shù)據(jù)庫(kù) 223
本章練習(xí) 226
第12章 Web框架開發(fā) 227
12.1 Web應(yīng)用程序設(shè)計(jì)與開發(fā)概述 227
12.1.1 Web應(yīng)用程序設(shè)計(jì)語(yǔ)言的產(chǎn)生與發(fā)展 227
12.1.2 Web應(yīng)用程序的工作原理 228
12.2 HTML概述 229
12.2.1 HTML網(wǎng)頁(yè)基本結(jié)構(gòu) 229
12.2.2 設(shè)置網(wǎng)頁(yè)背景和顏色 229
12.2.3 設(shè)置字體屬性 231
12.2.4 超級(jí)鏈接 232
12.2.5 圖像和動(dòng)畫 234
12.2.6 表格 234
12.2.7 使用框架 235
12.2.8 其他常用標(biāo)簽 237
12.3 Web開發(fā)框架介紹 239
12.3.1 什么是框架 240
12.3.2 Web開發(fā)框架 240
12.3.3 Python中的Web框架 241
12.4 Django框架 242
12.4.1 MVC編程模式 242
12.4.2 下載和安裝Django框架 243
12.4.3 創(chuàng)建和管理Django項(xiàng)目 244
12.4.4 Django視圖 246
12.4.5 Django模板語(yǔ)法及使用 249
12.4.6 Django模型 251
12.4.7 Django表單 255
本章練習(xí) 261
附錄 實(shí)驗(yàn) 262
實(shí)驗(yàn)1 開始Python編程 262
實(shí)驗(yàn)2 Python語(yǔ)言基礎(chǔ) 264
實(shí)驗(yàn)3 常用Python語(yǔ)句 267
實(shí)驗(yàn)4 Python函數(shù) 268
實(shí)驗(yàn)5 Python模塊 270
實(shí)驗(yàn)6 I/O編程 271
實(shí)驗(yàn)7 使用Python程序控制計(jì)算機(jī) 273
實(shí)驗(yàn)8 Python數(shù)據(jù)結(jié)構(gòu) 275
實(shí)驗(yàn)9 多任務(wù)編程 276
實(shí)驗(yàn)10 網(wǎng)絡(luò)編程 277
實(shí)驗(yàn)11 Python數(shù)據(jù)庫(kù)編程 278
實(shí)驗(yàn)12 Web框架開發(fā) 280