Python完全自學教程
明日科技
相關主題
商品描述
本書可作為Python自學手冊。本書系統地介紹了Python程序設計開發所涉及的各類知識。全書共19章,包括Python起步、Python語言基礎、Python數據類型、運算符、條件控制語句、循環結構語句、序列、字符串、列表、字典與集合、文件與I/O、函數、GUI編程、異常處理及程序調試、Web編程、Web框架,以及3個實戰案例即51商城、BBS問答社區、甜橙音樂網。全書每章內容都與實例緊密結合,有助於讀者理解知識、應用知識,達到學以致用的目的。
本書附有配套資源包,資源包中有本書所有實例的源碼及教學視頻。其中,源碼全部經過精心測試,能夠在Windows 7、Windows 8、Windows 10操作系統下編譯和運行。
本書可作為電腦、軟件等相關專業的教材,同時也適合數據庫愛好者、初級數據庫開發人員閱讀參考。
作者簡介
明日科技
一个拥有软件开发和项目实施方面的资深专家和学习型技术团队,利用积累的专业知识和经验,已开发出版了“从入门到精通”“软件开发实战1200例”“软件开发实战宝典”“软件项目开发全程实录”等系列丛书,是国内热销的编程图书品牌。
目錄大綱
第 1章 Python起步
1.1 初識Python 001
1.1.1 Python簡介 001
1.1.2 Python的應用領域 001
1.2 Python的安裝與問題處理 002
1.2.1 安裝Python 002
1.2.2 解決提示“‘python’不是內部或 外部命令……” 003
1.3 Python開發工具 005
1.4 基本輸出函數print() 007
1.4.1 使用連接符連接多個字符串 008
1.4.2 指定位數編號輸出 009
1.5 輸入函數input() 009
1.5.1 常用輸入 011
1.5.2 去除輸入的非法字符 011
1.5.3 多數據輸入 011
1.5.4 強制轉換輸入 012
1.5.5 對輸入數據進行驗證 013
第 2章 Python語言基礎
2.1 註釋 015
2.1.1 單行註釋 015
2.1.2 多行註釋 016
2.1.3 中文編碼聲明註釋 017
2.1.4 註釋程序進行調試 018
2.2 編碼格式 019
2.2.1 代碼縮進 019
2.2.2 編碼規範 020
2.3 關鍵字與標識符 021
2.3.1 關鍵字 021
2.3.2 標識符 023
第3章 Python數據類型
3.1 變量 025
3.1.1 理解Python中的變量 025
3.1.2 變量的定義與使用 025
3.2 基本數據類型 026
3.2.1 數字類型 027
3.2.2 字符串類型 029
3.2.3 布爾類型 031
3.2.4 數據類型轉換 032
第4章 運算符
4.1 算術運算符 034
4.1.1 加運算符“+” 035
4.1.2 減運算符“-” 036
4.1.3 乘運算符“*” 037
4.1.4 除運算符“/” 037
4.1.5 除運算符“//” 038
4.1.6 求餘運算符“%” 038
4.1.7 求冪運算符“**” 040
4.2 賦值運算符 041
4.2.1 簡單的賦值運算符“=” 041
4.2.2 加法賦值運算符“+=” 042
4.2.3 減法賦值運算符“-=” 042
4.2.4 乘法賦值運算符“*=” 043
4.2.5 除法賦值運算符“ /=” 044
4.2.6 求餘賦值運算符“ %= ” 044
4.2.7 冪賦值運算符“**=” 044
4.2.8 整除賦值運算符“//=” 045
4.3 比較運算符 045
4.3.1 等於運算符“==” 045
4.3.2 不等於運算符“!=” 046
4.3.3 大於運算符“>” 046
4.3.4 小於運算符“< ” 047
4.3.5 大於或等於運算符 “>= ” 047
4.3.6 小於或等於運算符 “<=” 048
4.4 邏輯運算符 048
4.4.1 成員運算符 050
4.4.2 身份運算符 051
4.5 運算符的優先級 052
第5章 條件控制語句
5.1 最簡單的if語句 053
5.2 if…else語句 056
5.3 if…elif…else語句 060
5.4 if語句的嵌套 063
5.5 使用and連接條件的if語句 066
5.6 使用or連接條件的if語句 068
5.7 使用not的if語句 068
第6章 循環結構語句
6.1 基礎for循環 070
6.1.1 進行數值循環 071
6.1.2 利用range()函數強化循環 071
6.1.3 遍歷字符串 073
6.2 for循環嵌套 074
6.2.1 遍歷嵌套列表 074
6.2.2 生成多少個互不相同且無重復數字的三位數 075
6.2.3 生成數字矩陣 075
6.3 for 表達式 076
6.3.1 利用for表達式生成數字、字母 077
6.3.2 雙層for表達式 077
6.3.3 3層for表達式 078
6.3.4 生成字典或者集合 079
6.4 for循環使用 else 語句 079
6.5 while循環 080
6.5.1 while計數循環 081
6.5.2 在while循環語句中使用none 081
6.6 循環嵌套 082
6.7 跳轉語句 084
6.7.1 break語句 084
6.7.2 continue語句 085
第7章 序 列
7.1 認識序列 088
7.1.1 索引 088
7.1.2 切片 089
7.1.3 序列相加 090
7.1.4 乘法 091
7.2 序列的常用方法 092
7.2.1 檢查某個元素是否是序列的成員 092
7.2.2 計算序列的長度 092
7.2.3 計算序列的最大值 094
7.2.4 計算序列的最小值 096
7.2.5 計算序列中元素的和 098
7.2.6 對序列中的元素進行排序 099
7.2.7 計算序列中某元素出現的總次數 100
7.2.8 將序列轉換為列表 100
7.2.9 將序列轉換為字符串 101
7.2.10 返回序列的反向訪問的迭代子 101
7.2.11 將序列組合為一個索引序列 102
7.3 元組 102
7.3.1 元組的創建和刪除 103
7.3.2 訪問元組元素 105
7.3.3 修改元組元素 106
7.3.4 元組推導式 107
第8章 字符串
8.1 字符串操作 109
8.1.1 字符串的定義 109
8.1.2 字符串的拼接 111
8.1.3 檢索字符串 113
8.1.4 截取與更新字符串 115
8.1.5 字符串的分割 117
8.1.6 字符串中字母的大小寫轉換 120
8.1.7 去除字符串中的空格和特殊字符 121
8.1.8 格式化字符串 122
8.2 字符編碼轉換 126
8.2.1 encode()方法編碼 126
8.2.2 decode()方法解碼 127
8.3 轉義字符與原始字符 128
8.3.1 轉義字符 128
8.3.2 原始字符 130
8.4 字符串運算符 130
8.4.1 認識字符串運算符 130
8.4.2 應用字符串運算符 131
8.5 字符串的操作方法 134
8.5.1 center()、ljust()、rjust()、zfill() 這4個方法的應用 134
8.5.2 其他常用方法 137
第9章 列 表
9.1 認識列表 140
9.2 創建列表 141
9.2.1 使用賦值運算符直接創建列表 141
9.2.2 使用list()函數創建列表 143
9.2.3 遍歷列表 143
9.3 添加與刪除列表 145
9.3.1 使用append()方法添加列表 145
9.3.2 使用insert()方法向列表的指定位置插入元素 146
9.3.3 使用extend()方法將序列的全部元素添加到另一列表中 147
9.3.4 使用copy()方法復制列表中所有元素到新列表 147
9.3.5 使用remove()方法刪除列表中的指定元素 148
9.3.6 使用pop()方法刪除列表中的元素 149
9.3.7 使用clear()方法刪除列表中的所有元素 150
9.4 查詢列表 151
9.4.1 獲取指定元素首次出現的索引 151
9.4.2 獲取指定元素出現的次數 151
9.4.3 查找列表元素是否存在 152
9.4.4 查找列表元素是否不存在 153
9.5 列表排序 153
9.5.1 使用sort()方法排序列表元素 153
9.5.2 使用sorted()函數排序列表元素 154
9.5.3 使用reverse()方法反轉列表 155
9.6 列表推導式 156
第 10章 字典與集合
10.1 字典 158
10.1.1 字典的創建和刪除 158
10.1.2 通過鍵值對訪問字典 161
10.1.3 遍歷字典 163
10.1.4 添加、修改和刪除字典元素 164
10.1.5 字典推導式 166
10.2 集合 166
10.2.1 集合的創建 167
10.2.2 集合元素的添加和刪除 168
10.2.3 集合的交集、並集和差集運算 170
第 11章 文件與I/O
11.1 基本文件操作 171
11.1.1 創建和打開文件 171
11.1.2 關閉文件 174
11.1.3 打開文件時使用with語句 174
11.1.4 寫入文件內容 175
11.1.5 讀取文件 175
11.2 目錄操作 179
11.2.1 os和os.path模塊 179
11.2.2 路徑 181
11.2.3 判斷目錄是否存在 183
11.2.4 創建目錄 184
11.2.5 刪除目錄 186
11.2.6 遍歷目錄 187
11.3 高級文件操作 188
11.3.1 刪除文件 188
11.3.2 重命名文件和目錄 189
11.3.3 獲取文件基本信息 191
11.4 os.path 模塊中的函數 192
11.4.1 isdir()函數——判斷路徑是否為目錄 192
11.4.2 abspath()函數——獲取文件的絕對路徑 193
11.4.3 join()函數——拼接路徑 193
11.4.4 basename() 函數——提取文件名 194
11.4.5 dirname()函數——提取文件路徑 195
11.4.6 split()函數——分離文件路徑和文件名 195
11.4.7 splitext( )函數——分離文件路徑和擴展名 196
第 12章 函 數
12.1 函數的創建和調用 197
12.1.1 創建函數 198
12.1.2 調用函數 199
12.1.3 pass空語句 200
12.2 參數傳遞 201
12.2.1 瞭解形式參數和實際參數 201
12.2.2 位置參數 202
12.2.3 關鍵字參數 204
12.2.4 為參數設置默認值 204
12.2.5 可變參數 205
12.3 返回值 207
12.4 變量的作用域 210
12.4.1 局部變量 210
12.4.2 全局變量 210
12.5 匿名函數 212
第 13章 GUI編程
13.1 初識GUI 214
13.1.1 什麽是GUI 214
13.1.2 常用的GUI框架 215
13.1.3 安裝 wxPython 215
13.2 創建應用程序 216
13.2.1 創建一個wx.App的子類 216
13.2.2 直接使用wx.App類 217
13.2.3 使用wx.Frame框架 217
13.3 常用控件 219
13.3.1 wx.StaticText文本類 219
13.3.2 wx.TextCtrl輸入文本類 221
13.3.3 wx.Button按鈕類 223
13.4 佈局 224
13.4.1 什麽是BoxSizer 225
13.4.2 使用BoxSizer 225
13.5 事件處理 228
13.5.1 什麽是事件 228
13.5.2 綁定事件 229
第 14章 異常處理及程序調試
14.1 異常 231
14.2 try…except語句 233
14.2.1 簡單try…except語句 233
14.2.2 帶有多個 except語句塊的 try語句塊 234
14.2.3 處理多個異常的 except 語句塊 234
14.2.4 捕獲所有異常 235
14.3 try…except…else語句 235
14.4 try…except…finally語句 237
14.5 使用raise語句拋出異常 240
14.6 常見的異常 241
14.7 程序調試 242
14.7.1 使用自帶的IDLE進行程序調試 242
14.7.2 使用assert語句調試程序 246
第 15章 Web編程
15.1 Web基礎 248
15.1.1 HTTP 248
15.1.2 Web服務器 248
15.1.3 前端基礎 251
15.1.4 靜態服務器 253
15.2 WSGI 258
15.2.1 CGI簡介 258
15.2.2 WSGI簡介 259
15.2.3 定義WSGI 259
15.2.4 運行WSGI服務 260
第 16章 Web框架
16.1 Web框架簡介 264
16.1.1 什麽是Web框架 264
16.1.2 常用的Web框架 264
16.2 Flask的使用 265
16.2.1 虛擬環境 265
16.2.2 安裝Flask 267
16.2.3 第 一個Flask程序 268
16.2.4 開啟調試模式 269
16.2.5 路由 269
16.2.6 靜態文件 272
16.2.7 模板 272
16.3 Django的使用 277
16.3.1 安裝Django 277
16.3.2 創建一個Django項目 278
16.3.3 創建一個App 281
16.3.4 數據模型 282
16.3.5 管理後台 287
16.3.6 路由 288
16.3.7 表單 290
16.3.8 視圖 292
16.3.9 Django模板 294
第 17章 51商城——Flask+MySQL+ virtualenv實現
17.1 功能分析 296
17.2 系統功能設計 297
17.2.1 系統功能結構 297
17.2.2 系統業務流程 297
17.3 系統開發必備 298
17.3.1 系統開發環境 298
17.3.2 項目組織結構 298
17.4 數據庫設計 299
17.4.1 數據庫概要說明 299
17.4.2 數據表模型 300
17.4.3 數據表關系 303
17.5 會員註冊模塊設計 303
17.5.1 會員註冊模塊概述 303
17.5.2 會員註冊頁面 304
17.5.3 驗證並保存註冊信息 310
17.6 會員登錄模塊設計 311
17.6.1 會員登錄模塊概述 311
17.6.2 創建會員登錄頁面 312
17.6.3 保存會員登錄狀態 315
17.6.4 會員退出功能 316
17.7 首頁模塊設計 316
17.7.1 首頁模塊概述 316
17.7.2 實現顯示最新上架商品功能 317
17.7.3 實現顯示打折商品功能 319
17.7.4 實現顯示熱門商品功能 321
17.8 購物車模塊 323
17.8.1 購物車模塊概述 323
17.8.2 實現顯示商品詳細信息功能 324
17.8.3 實現添加購物車功能 326
17.8.4 實現查看購物車功能 327
17.8.5 實現保存訂單功能 328
17.8.6 實現查看訂單功能 329
17.9 後台功能模塊設計 330
17.9.1 後台登錄模塊設計 330
17.9.2 商品管理模塊設計 330
17.9.3 銷量排行榜模塊設計 332
17.9.4 會員管理模塊設計 332
17.9.5 訂單管理模塊設計 333
第 18章 BBS問答社區——Tornado+Redis+ Bootstrap實現
18.1 功能分析 334
18.2 系統功能設計 334
18.2.1 系統功能結構 334
18.2.2 系統業務流程 335
18.3 系統開發必備 336
18.3.1 系統開發環境 336
18.3.2 項目組織結構 336
18.4 數據庫設計 337
18.4.1 數據庫概要說明 337
18.4.2 數據表關系 337
18.5 用戶系統設計 338
18.5.1 用戶註冊功能 338
18.5.2 用戶登錄功能 342
18.5.3 用戶註銷功能 344
18.6 問題模塊設計 344
18.6.1 問題列表 344
18.6.2 問題詳情 346
18.6.3 創建問題 348
18.7 答案長輪詢設計 350
第 19章 甜橙音樂網—Flask+MySQL+jPlayer實現
19.1 功能分析 353
19.2 系統功能設計 354
19.2.1 系統功能結構 354
19.2.2 系統業務流程 354
19.2.3 系統預覽 355
19.3 系統開發必備 356
19.3.1 系統開發環境 356
19.3.2 項目組織結構 356
19.4 數據庫設計 357
19.4.1 數據庫概要說明 357
19.4.2 數據表模型 357
19.5 網站首頁模塊的設計 358
19.5.1 首頁模塊概述 358
19.5.2 實現熱門歌手列表功能 359
19.5.3 實現熱門音樂功能 361
19.5.4 實現播放音樂功能 363
19.6 排行榜模塊的設計 365
19.6.1 排行榜模塊概述 365
19.6.2 實現音樂排行榜的功能 366
19.6.3 實現播放音樂的功能 368
19.7 曲風模塊的設計 369
19.7.1 曲風模塊概述 369
19.7.2 實現曲風模塊數據的獲取 370
19.7.3 實現曲風模塊頁面的渲染 371
19.7.4 實現曲風列表的分頁功能 372
19.8 發現音樂模塊的設計 373
19.8.1 發現音樂模塊概述 373
19.8.2 實現發現音樂的搜索功能 374
19.8.3 實現發現音樂模塊頁面的渲染 375
19.9 歌手模塊的設計 377
19.9.1 歌手模塊概述 377
19.9.2 實現歌手列表的功能 378
19.9.3 實現歌手詳情的功能 379
19.10 我的音樂模塊的設計 380
19.10.1 我的音樂模塊概述 380
19.10.2 實現收藏音樂的功能 380
19.10.3 實現我的音樂功能 383