圖書亮點
1、124個經典實例+1箇中型項目+1個大型項目
2、零基礎入門經典,實例貼近生活
3、全彩印刷,還原真實開發環境
4、贈送數字電子書,隨時隨地想學就學
5、贈送程式源碼
6、作者團隊線上答疑
前言
Python是由荷蘭人Guido van Rossum 發明的一種面向對象的解釋型高級程式語言,可以把用其他語言製作的各種模組(如C 語言、C++)很輕鬆地聯結在一起,所以Python 又被稱為“膠水”語言。 Python 語法簡潔、清晰,代碼可讀性強,編程模式符合人類的思維方式和習慣,很多學校都開設了這門課程,甚至有些國小也開設了Python 課程。您還在等什麼呢?快快加入Python 開發者的陣營吧!
內容簡介
本書通過大量實例及一個完整項目案例,幫助讀者更好地鞏固所學知識,提升能力;在百度雲盤中給出了本書的視頻講解、實例及項目源碼、實戰源碼,方便讀者學習;書中設定了200 多個二維碼,掃描二維碼觀看視頻講解,解決學習疑難;不易理解的專業術語、代碼難點,只需用手機App 掃描文字下方的 e 學碼便可獲得更多擴展解釋,隨時掃除學習障礙。此外,登錄明日學院網站還可以獲得更多學習資源和技術支持。圖書與二維碼+ e 學碼 + 明日學院,實現立體化、全方位的教學模式,降低編程門檻,讓零基礎者輕鬆跨入編程領域。
目錄
入 門 篇
第1章 初識Python 1
視頻講解:30分鐘
精彩實例:2個
e學碼:12個
1.1 Python概述 2
1.1.1 了解Python 2
1.1.2 Python的版本 2
1.1.3 Python的套用領域 5
1.2 搭建Python開發環境 8
1.2.1 Python開發環境概述 8
1.2.2 安裝Python 8
1.2.3 第一個Python程式 12
實例01 在命令行視窗中輸出“人生
苦短,我用Python” 12
實例02 在IDLE中輸出“人生苦短,
我用Python” 13
1.3 Python開發工具 15
1.3.1 使用自帶的IDLE 15
1.3.2 常用的第三方開發工具 17
1.4 難點解答 19
1.4.1 為什麼提示“'python'不是內部
或外部命令……” 19
1.4.2 如何在Python互動模式中運行
.py檔案 21
1.5 實戰 21
實戰一:輸出“人因夢想而偉大” 21
實戰二:輸出台階 22
實戰三:輸出個性微信簽名 22
實例四:列印田字格 22
1.6 小結 22
第2章 Python語言基礎 23
視頻講解:1小時28分鐘
精彩實例:7個
e學碼:14個
2.1 Python語法特點 24
2.1.1 注釋 24
2.1.2 代碼縮進 27
2.1.3 編碼規範 29
2.2 保留字與標識符 31
2.2.1 保留字 31
2.2.2 標識符 32
2.3 變數 33
2.3.1 理解Python中的變數 33
2.3.2 變數的定義與使用 34
2.4 基本數據類型 35
2.4.1 數字類型 35
實例01 根據身高、體重計算BMI指數 37
2.4.2 字元串類型 38
實例02 輸出007號坦克 39
2.4.3 布爾類型 40
2.4.4 數據類型轉換 40
實例03 模擬超市抹零結賬行為 41
2.5 運算符 42
2.5.1 算術運算符 42
實例04 計算學生成績的分差及
平均分 43
2.5.2 賦值運算符 44
2.5.3 比較(關係)運算符 44
實例05 使用比較運算符比較大小
關係 45
2.5.4 邏輯運算符 46
實例06 參加手機店的打折活動 46
2.5.5 位運算符 47
2.5.6 運算符的優先權 49
2.6 基本輸入和輸出 50
2.6.1 使用input()函式輸入 51
實例07 根據身高、體重計算BMI
指數(改進版) 51
2.6.2 使用print()函式輸出 52
2.7 實戰 53
實戰一:模擬手機充值場景 53
實戰二:繪製《植物大戰殭屍》中的
石頭怪 53
實戰三:根據父母的身高預測兒子的身高 54
實戰四:根據總步數計算消耗的熱量值 54
2.8 小結 54
第3章 流程控制語句 55
視頻講解:54分鐘
精彩實例:9個
e學碼:4個
3.1 程式結構 56
3.2 選擇語句 57
3.2.1 最簡單的if語句 57
實例01 判斷輸入的是不是黃蓉
所說的數 58
3.2.2 if…else語句 59
實例02 驗證瑛姑給出的答案是否
正確 60
3.2.3 if…elif…else語句 62
實例03 輸出玫瑰花語 63
3.2.4 if語句的嵌套 64
實例04 判斷是否為酒後駕車 65
3.3 條件表達式 66
3.4 循環語句 66
3.4.1 while循環 67
實例05 助力瑛姑 ①:while循環版
解題法 67
3.4.2 for循環 68
實例06 助力瑛姑 ②:while循環版
解題法 69
3.4.3 循環嵌套 71
實例07 列印九九乘法表 72
3.5 跳轉語句 72
3.5.1 break語句 73
實例08 助力瑛姑 ③:for循環改進版
解題法 74
3.5.2 continue語句 74
實例09 逢七拍腿遊戲 75
3.6 pass空語句 76
3.7 實戰 76
實戰一:模擬支付寶螞蟻森林的能量
產生過程 76
實戰二:猜數字遊戲 77
實戰三:模擬“跳一跳”小遊戲的加分塊 77
實戰四:模擬10086查詢功能 78
3.8 小結 78
第4章 序列的套用 79
視頻講解:1小時57分鐘
精彩實例:14個
e學碼:16個
4.1 序列 80
4.1.1 索引(Indexing) 80
4.1.2 切片(Sliceing) 81
4.1.3 序列相加(Adding) 81
4.1.4 乘法(Multiplying) 82
4.1.5 檢查某個元素是否是序列的成員 83
4.1.6 計算序列的長度、最大值和
最小值 83
4.2 列表(list) 84
4.2.1 列表的創建和刪除 85
4.2.2 訪問列表元素 86
實例01 輸出每日一帖 87
4.2.3 遍歷列表 88
實例02 分兩列顯示2017~2018賽季
NBA西部聯盟前八名的球隊 89
4.2.4 添加、修改和刪除列表元素 90
實例03 向NBA名人堂列表中追加
2018年新進入的球星 91
4.2.5 對列表進行統計和計算 93
4.2.6 對列表進行排序 94
4.2.7 列表推導式 96
4.2.8 二維列表的使用 98
實例04 使用二維列表輸出不同版式
的古詩 100
4.3 元組(tuple) 101
4.3.1 元組的創建和刪除 101
實例05 使用元組保存咖啡館裡提供
的咖啡名稱 103
4.3.2 訪問元組元素 104
實例06 使用for循環列出咖啡館裡
的咖啡名稱 105
實例07 分兩列顯示2017~2018賽季
NBA西部聯盟前八名球隊 105
4.3.3 修改元組元素 106
實例08 將麝香貓咖啡替換為拿鐵
咖啡 106
4.3.4 元組推導式 107
4.3.5 元組與列表的區別 109
4.4 字典(dictionary) 109
4.4.1 字典的創建和刪除 110
實例09 創建一個保存女神星座的
字典 111
4.4.2 通過鍵值對訪問字典 113
實例10 根據星座測試性格特點 115
4.4.3 遍歷字典 115
4.4.4 添加、修改和刪除字典元素 116
4.4.5 字典推導式 118
實例11 套用字典推導式實現根據
名字和星座創建一個字典 118
4.5 集合(set) 119
4.5.1 集合的創建 119
實例12 創建保存學生選課信息的
集合 120
4.5.2 集合的添加和刪除 121
實例13 學生更改選學課程 122
4.5.3 集合的交集、並集和差集運算 123
實例14 對選課集合進行交集、並集
和差集運算 123
4.6 列表、元組、字典和集合的區別 124
4.7 實戰 124
實戰一:輸出“王者榮耀”的遊戲角色 124
實戰二:模擬火車訂票系統 125
實戰三:電視劇的收視率排行榜 125
實戰四:定製自己的手機套餐 126
4.8 小結 126
第5章 字元串及正則表達式 127
視頻講解:50分鐘
精彩實例:10個
e學碼:5個
5.1 字元串常用操作 128
5.1.1 拼接字元串 128
實例01 使用字元串拼接輸出一個
關於程式設計師的笑話 129
5.1.2 計算字元串的長度 129
5.1.3 截取字元串 130
實例02 截取身份證號碼中的出生日期 131
5.1.4 分割、合併字元串 132
實例03 輸出被@的好友名稱 133
實例04 通過好友列表生成全部被
@的好友 134
5.1.5 檢索字元串 134
5.1.6 字母的大小寫轉換 137
實例05 不區分大小寫驗證會員名
是否唯一 138
5.1.7 去除字元串中的空格和特殊字元 139
5.1.8 格式化字元串 141
實例06 格式化不同的數值類型數據 144
5.2 字元串編碼轉換 144
5.2.1 使用encode()方法編碼 145
5.2.2 使用decode()方法解碼 145
5.3 正則表達式 146
5.3.1 行定位符 146
5.3.2 元字元 147
5.3.3 限定符 147
5.3.4 字元類 148
5.3.5 排除字元 148
5.3.6 選擇字元 148
5.3.7 轉義字元 149
5.3.8 分組 149
5.3.9 在Python中使用正則表達式語法 149
5.4 使用re模組實現正則表達式操作 150
5.4.1 匹配字元串 150
實例07 驗證輸入的手機號碼是否為
中國移動的號碼 152
實例08 驗證是否出現危險字元 153
5.4.2 替換字元串 155
實例09 替換出現的危險字元 156
5.4.3 使用正則表達式分割字元串 156
實例10 輸出被@的好友名稱(套用
正則表達式) 157
5.5 實戰 157
實戰一:列印象棋口訣 157
實戰二:判斷車牌歸屬地 158
實戰三:模擬微信搶紅包 158
實戰四:顯示實時天氣預報 158
5.6 小結 158
進 階 篇
第6章 函式 159
視頻講解:57分鐘
精彩實例:6個
e學碼:2個
6.1 函式的創建和調用 160
6.1.1 創建一個函式 160
6.1.2 調用函式 161
實例01 輸出每日一帖(共享版) 162
6.2 參數傳遞 163
6.2.1 了解形式參數和實際參數 163
實例02 根據身高、體重計算BMI
指數(共享版) 164
6.2.2 位置參數 165
6.2.3 關鍵字參數 167
6.2.4 為參數設定默認值 167
6.2.5 可變參數 169
實例03 根據身高、體重計算BMI
指數(共享升級版) 170
6.3 返回值 172
實例04 模擬結賬功能—計算實付
金額 173
6.4 變數的作用域 174
6.4.1 局部變數 174
6.4.2 全局變數 175
實例05 一棵松樹的夢 175
6.5 匿名函式(lambda) 177
實例06 套用lambda實現對爬取到的
秒殺商品信息進行排序 178
6.6 實戰 179
實戰一:導演為劇本選主角 179
實戰二:模擬美團外賣商家的套餐 179
實戰三:根據生日判斷星座 179
實戰四:將美元轉換為人民幣 180
6.7 小結 180
第7章 面向對象程式設計 181
視頻講解:1小時
精彩實例:5個
e學碼:3個
7.1 面向對象概述 182
7.1.1 對象 182
7.1.2 類 183
7.1.3 面向對象程式設計的特點 183
7.2 類的定義和使用 184
7.2.1 定義類 185
7.2.2 創建類的實例 185
7.2.3 創建__init__()方法 186
7.2.4 創建類的成員並訪問 187
實例01 創建大雁類並定義飛行
方法 188
實例02 通過類屬性統計類的實例
個數 189
7.2.5 訪問限制 192
7.3 屬性(property) 193
7.3.1 創建用於計算的屬性 193
7.3.2 為屬性添加安全保護機制 194
實例03 在模擬電影點播功能時
套用屬性 195
7.4 繼承 196
7.4.1 繼承的基本語法 197
實例04 創建水果基類及其派生類 197
7.4.2 方法重寫 198
7.4.3 派生類中調用基類的
__init__()方法 199
實例05 在派生類中調用基類的
__init__()方法定義類屬性 200
7.5 實戰 201
實戰一:修改手機默認語言 201
實戰二:給信用卡設定默認密碼 201
實戰三:列印每月銷售明細 202
實戰四:模擬電影院的自動售票機
選票頁面 202
7.6 小結 202
第8章 模組 203
視頻講解:46分鐘
精彩實例:4個
e學碼:5個
8.1 模組概述 204
8.2 自定義模組 205
8.2.1 創建模組 205
實例01 創建計算BMI指數的模組 205
8.2.2 使用import語句導入模組 206
8.2.3 使用from…import語句導入
模組 207
實例02 導入兩個包括同名函式的
模組 207
8.2.4 模組搜尋目錄 209
8.3 以主程式的形式執行 211
8.4 Python中的包 213
8.4.1 Python程式的包結構 213
8.4.2 創建和使用包 214
實例03 在指定包中創建通用的設定
和獲取尺寸的模組 216
8.5 引用其他模組 217
8.5.1 導入和使用標準模組 217
實例04 生成由數字、字母組成的
4位驗證碼 217
8.5.2 第三方模組的下載與安裝 219
8.6 實戰 220
實戰一:大樂透號碼生成器 220
實戰二:春節集五福 221
實戰三:封裝用戶的上網行為 221
實戰四:計算個人所得稅 222
8.7 小結 222
第9章 異常處理及程式調試 223
視頻講解:33分鐘
精彩實例:4個
e學碼:3個
9.1 異常概述 224
實例01 模擬幼稚園分蘋果 224
9.2 異常處理語句 225
9.2.1 try…except語句 226
實例02 模擬幼稚園分蘋果(除數
不能為0) 226
9.2.2 try…except…else語句 229
9.2.3 try…except…f inally語句 230
9.2.4 使用raise語句拋出異常 231
實例03 模擬幼稚園分蘋果(每個人
至少分到一個蘋果) 231
9.3 程式調試 232
9.3.1 使用自帶的IDLE進行程式調試 233
9.3.2 使用assert語句調試程式 234
實例04 模擬幼稚園分蘋果(套用
斷言調試) 235
9.4 小結 236
第10章 檔案及目錄操作 237
視頻講解:1小時05分鐘
精彩實例:6個
e學碼:3個
10.1 基本檔案操作 238
10.1.1 創建和打開檔案 238
實例01 創建並打開記錄螞蟻莊園
動態的檔案 239
10.1.2 關閉檔案 241
10.1.3 打開檔案時使用with語句 241
10.1.4 寫入檔案內容 242
實例02 向螞蟻莊園的動態檔案寫入
一條信息 242
10.1.5 讀取檔案 244
實例03 顯示螞蟻莊園的動態 245
實例04 逐行顯示螞蟻莊園的動態 246
10.2 目錄操作 248
10.2.1 os和os.path模組 248
10.2.2 路徑 250
10.2.3 判斷目錄是否存在 252
10.2.4 創建目錄 253
10.2.5 刪除目錄 255
10.2.6 遍歷目錄 256
實例05 遍歷指定目錄 257
10.3 高級檔案操作 257
10.3.1 刪除檔案 258
10.3.2 重命名檔案和目錄 259
10.3.3 獲取檔案基本信息 260
實例06 獲取檔案基本信息 261
10.4 實戰 262
實戰一:根據當前時間創建檔案 262
實戰二:批量添加資料夾 263
10.5 小結 264
第11章 使用Python運算元據庫 265
視頻講解:50分鐘
精彩實例:8個
e學碼:5個
11.1 資料庫編程接口 266
11.1.1 連線對象 266
11.1.2 游標對象 267
11.2 使用SQLite 268
11.2.1 創建資料庫檔案 268
實例01 創建SQLite資料庫檔案 268
11.2.2 操作SQLite 269
實例02 新增用戶數據信息 270
實例03 使用3種方式查詢用戶數據
信息 271
實例04 修改用戶數據信息 272
實例05 刪除用戶數據信息 273
11.3 使用MySQL 273
11.3.1 下載安裝MySQL 273
11.3.2 安裝PyMySQL 278
11.3.3 連線資料庫 278
實例06 使用PyMySQL連線資料庫 278
11.3.4 創建數據表 279
實例07 創建books圖書表 279
11.3.5 操作MySQL數據表 280
實例08 向books圖書表添加圖書
數據 280
11.4 實戰 282
實戰一:獲取指定數據表中的信息 282
實戰二:查找指定年份之後的圖書
信息 282
實戰三:批量刪除指定的圖書信息 282
11.5 小結 282
高 級 篇
第12章 GUI界面編程 283
視頻講解:50分鐘
精彩實例:5個
e學碼:6個
12.1 初識GUI 284
12.1.1 什麼是GUI 284
12.1.2 常用的GUI框架 284
12.1.3 安裝 wxPython 285
12.2 創建應用程式 285
12.2.1 創建一個wx.App的子類 286
12.2.2 直接使用wx.App 287
12.2.3 使用wx.Frame框架 287
12.3 常用控制項 288
12.3.1 StaticText文本類 289
實例01 使用wx.StaticText輸出
Python之禪 289
12.3.2 TextCtrl輸入文本類 291
實例02 使用wx.TextCtrl實現登錄
界面 292
12.3.3 Button按鈕類 292
實例03 為登錄界面添加“確認”
和“取消”按鈕 293
12.4 BoxSizer布局 294
12.4.1 什麼是BoxSizer 294
12.4.2 使用BoxSizer布局 294
實例04 使用BoxSizer設定登錄
界面布局 296
12.5 事件處理 297
12.5.1 什麼是事件 297
12.5.2 綁定事件 298
實例05 使用事件判斷用戶登錄 298
12.6 小結 300
第13章 Pygame遊戲編程 301
視頻講解:1小時
精彩實例:1個
e學碼:4個
13.1 初識Pygame 302
13.1.1 安裝Pygame 302
13.1.2 Pygame常用模組 303
13.2 Pygame的基本套用 304
實例01 製作一個跳躍的小球遊戲 304
13.3 開發Flappy Bird遊戲 310
13.3.1 遊戲簡介 310
13.3.2 遊戲分析 310
13.3.3 搭建主框架 310
13.3.4 創建小鳥類 312
13.3.5 創建管道類 314
13.3.6 計算得分 316
13.3.7 碰撞檢測 318
13.4 小結 320
第14章 網路爬蟲開發 321
視頻講解:1小時30分鐘
e學碼:20個
14.1 網路爬蟲概述 322
14.2 網路爬蟲的常用技術 322
14.2.1 Python的網路請求 322
14.2.2 請求headers處理 325
14.2.3 網路逾時 327
14.2.4 代理服務 328
14.2.5 HTML解析之Beautiful Soup 328
14.3 網路爬蟲開發常用框架 331
14.3.1 Scrapy爬蟲框架 331
14.3.2 Crawley爬蟲框架 331
14.3.3 PySpider爬蟲框架 332
14.4 實戰項目:快手爬票 332
14.4.1 快手爬票概述 332
14.4.2 搭建QT環境 333
14.4.3 主窗體設計 335
14.4.4 分析網頁請求參數 343
14.4.5 下載站名檔案 345
14.4.6 車票信息的請求與顯示 347
14.5 小結 354
第15章 Web編程 355
視頻講解:30分鐘
精彩實例:2個
e學碼:15個
15.1 Web基礎 356
15.1.1 HTTP協定 356
15.1.2 Web伺服器 356
15.1.3 前端基礎 358
15.1.4 靜態伺服器 361
實例01 創建“明日學院”網站靜態
伺服器 361
15.2 WSGI接口 365
15.2.1 CGI簡介 365
15.2.2 WSGI簡介 366
15.2.3 定義WSGI接口 367
15.2.4 運行WSGI服務 367
實例02 創建“明日學院”網站課程
頁面 367
15.3 小結 370
第16章 常用Web框架 371
視頻講解:1小時
精彩實例:4個
e學碼:8個
16.1 Web框架簡介 372
16.1.1 什麼是Web框架 372
16.1.2 Python常用的Web框架 372
16.2 Flask框架的使用 373
16.2.1 安裝虛擬環境 373
16.2.2 安裝Flask 374
16.2.3 第一個Flask程式 375
實例01 輸出“Hello World!” 376
16.2.4 開啟調試模式 377
16.2.5 路由 377
實例02 根據參數輸出相應信息 377
實例03 使用url_for()函式獲取
URL信息 378
16.2.6 靜態檔案 380
16.2.7 模板 380
實例04 渲染模板 380
16.3 Django框架的使用 384
16.3.1 安裝Django Web框架 384
16.3.2 創建一個Django項目 386
16.3.3 創建APP 388
16.3.4 數據模型(models) 389
16.3.5 管理後台 394
16.3.6 路由(urls) 395
16.3.7 表單(forms) 397
16.3.8 視圖(views) 398
16.3.9 Django模板 400
16.4 小結 402
實 戰 篇
第17章 智慧星答題測試系統
(Django框架+Bootstrap +MySQL+Redis實現) 403
視頻講解:1小時20分鐘
e學碼:6個
17.1 系統功能設計 404
17.1.1 了解項目整體開發流程 404
17.1.2 系統功能結構 404
17.1.3 系統業務流程 404
17.1.4 系統預覽 406
17.2 系統開發必備 407
17.2.1 系統開發環境 407
17.2.2 資料夾組織結構 407
17.3 資料庫設計 408
17.3.1 資料庫概要說明 408
17.3.2 數據表模型 410
17.4 用戶登錄模組設計 412
17.4.1 用戶登錄模組概述 412
17.4.2 使用Django默認授權機制
實現普通登錄 412
17.4.3 基於Oauth2.0的微信登錄的實現 420
17.4.4 機構註冊功能的實現 422
17.5 核心答題功能的設計 428
17.5.1 答題首頁設計 428
17.5.2 比賽詳情頁面 431
17.5.3 答題功能的實現 435
17.5.4 提交答案 439
17.5.5 批量錄入題庫 442
17.6 小結 448