第1 篇 基礎篇
第1 章 踏上Python 之旅
1.1 Python概述
• 1.1.1 Python簡介
• 1.1.2 Python的版本
• 1.1.3 Python的應用領域
1.2 搭建Python開發環境
• 1.2.1 安裝Python
• 1.2.2 解決提示“'python'不是內部或外部命令……”
1.3 使用IDLE編寫“hello world”
1.4 實戰任務
• 任務1:輸齣“Go Big Or Go Home”
• 任務2:輸齣程序員節“1024”的含義
• 任務3:模擬輸齣用戶登錄輸入窗口
• 任務4:輸齣金庸先生的作品口訣
• 任務5:輸齣銀行交易提醒短信
第2 章 熟悉PyCharm 開發環境
2.1 PyCharm下載與安裝
• 2.1.1 PyCharm下載
• 2.1.2 PyCharm安裝
2.2 測試PyCharm開發環境
• 2.2.1 運行PyCharm
• 2.2.2 創建工程目錄
• 2.2.3 編寫“hello world”程序
2.3 PyCharm常用操作
• 2.3.1 在同一個工程下創建多個程序文件
• 2.3.2 運行程序的多種方法
• 2.3.3 保存程序
• 2.3.4 關閉程序或工程
• 2.3.5 刪除程序
• 2.3.6 打開最近的工程
• 2.3.7 調試斷點
2.4 熟悉PyCharm開發環境
2.5 PyCharm開發環境配置
• 2.5.1 作者信息等設置
• 2.5.2 設置Python解析器
• 2.5.3 設置開發環境字體
2.6 實戰任務
• 任務1:輸齣“eat our own dog food”
• 任務2:輸齣天氣預報
• 任務3:輸齣地鐵來瞭主界麵
• 任務4:輸齣訂購機票以及航班信息的界麵
• 任務5:輸齣字符畫——史努比
• 任務6:輸齣驗證碼界麵
第3 章 Python 輸入與輸齣
3.1 基本輸入和輸齣
• 3.1.1 使用print()函數輸齣
• 3.1.2 使用input()函數輸入
3.2 注 釋
• 3.2.1 單行注釋
• 3.2.2 多行注釋
• 3.2.3 中文編碼聲明注釋
3.3 代碼縮進
3.4 編碼規範
3.5 命名規範
3.6 實戰任務
• 任務1:輸齣字母、數字或符號的ASCII狀態值
• 任務2:模擬微信支付實現付款功能
• 任務3:輸齣嚮往的生活場景
• 任務4:模擬特價商品銷售倒計時提醒
• 任務5:模擬成語填空遊戲
第4 章 變量與基本數據類型
4.1 保留字與標識符
• 4.1.1 保留字
• 4.1.2 標識符
4.2 變 量
• 4.2.1 理解Python中的變量
• 4.2.2 變量的定義與使用
4.3 基本數據類型
• 4.3.1 數字類型
• 4.3.2 字符串類型
• 4.3.3 布爾類型
• 4.3.4 數據類型轉換
4.4 實戰任務
• 任務1:破譯爬蟲項目實踐活動的日期密碼
• 任務2:用不同的數據類型完成告白
• 任務3:將十進製數轉換為二進製、八進製、十六進製
• 任務4:輸齣遊戲玩傢的功力值
• 任務5:模擬石頭、剪子、布遊戲
• 任務6:輸齣球賽結果對比圖
• 任務7:模擬輸齣搖一搖免單的效果
第5 章 運 算 符
5.1 算術運算符
5.2 賦值運算符
5.3 比較(關係)運算符
5.4 邏輯運算符
5.5 位運算符
5.6 運算符的優先級
5.7 實戰任務
• 任務1:計算愛國者導彈的總數量
• 任務2:奮鬥的青春最美麗
• 任務3:計算汽車平均油耗及費用
• 任務4:華氏溫度轉換成攝氏溫度
第6 章 列錶和元組
6.1 序 列
• 6.1.1 索引
• 6.1.2 切片
• 6.1.3 序列相加
• 6.1.4 乘法(Multiplying)
• 6.1.5 檢查某個元素是否是序列的成員(元素)
• 6.1.6 計算序列的長度、最大值和最小值
6.2 列 錶
• 6.2.1 列錶的創建和刪除
• 6.2.2 訪問列錶元素
• 6.2.3 遍曆列錶
• 6.2.4 添加、修改和刪除列錶元素
• 6.2.5 對列錶進行統計計算
• 6.2.6 對列錶進行排序
• 6.2.7 列錶推導式
6.3 元 組
• 6.3.1 元組的創建和刪除
• 6.3.2 訪問元組元素
• 6.3.3 修改元組元素
• 6.3.4 元組推導式
• 6.3.5 元組與列錶的區彆
6.4 實戰任務
• 任務1:解決“韆年蟲”問題
• 任務2:QQ運動周報
• 任務3:模擬購物車購物過程
第7 章 字符串與正則錶達式
7.1 字符串常用操作
• 7.1.1 拼接字符串
• 7.1.2 計算字符串的長度
• 7.1.3 截取字符串
• 7.1.4 分割字符串
• 7.1.5 檢索字符串
• 7.1.6 字母的大小寫轉換
• 7.1.7 去除字符串中的空格和特殊字符
• 7.1.8 格式化字符串
7.2 正則錶達式基礎
• 7.2.1 行定位符
• 7.2.2 元字符
• 7.2.3 限定符
• 7.2.4 字符類
• 7.2.5 排除字符
• 7.2.6 選擇字符
• 7.2.7 轉義字符
• 7.2.8 分組
• 7.2.9 在Python中使用正則錶達式語法
7.3 使用re模塊實現正則錶達式操作
• 7.3.1 匹配字符串
• 7.3.2 替換字符串
• 7.3.3 使用正則錶達式分割字符串
7.4 實戰任務
• 任務1:字符串綜閤訓練
• 任務2:查找字符串中字符齣現的次數
• 任務3:格式化輸齣商品的編號和單價
• 任務4:刪除字符串中重復的字符
• 任務5:輸齣身份證中的生日信息
第8 章 if 選擇語句
8.1 程序結構
8.2 常用選擇語句
• 8.2.1 最簡單的if語句
• 8.2.2 if…else語句
• 8.2.3 if…elif…else語句
• 8.2.4 if語句的嵌套
8.3 使用and連接條件的選擇語句
8.4 使用or連接條件的選擇語句
8.5 使用not關鍵字的選擇語句
8.6 實戰任務
• 任務1:判斷輸入的支付密碼是否閤法
• 任務2:競猜商品價格
第9 章 循環結構語句
9.1 for循環
9.2 while循環
9.3 循環嵌套
9.4 跳轉語句
• 9.4.1 break語句
• 9.4.2 continue語句
9.5 實戰任務
• 任務1:輸齣字母或數字的ASCII值
• 任務2:編程輸齣星號(*)陣列
• 任務3:分類輸齣福布斯科技榜排行
第2 篇 進階篇
第10 章 字典與集閤
10.1 字 典
• 10.1.1 字典的創建和刪除
• 10.1.2 通過“鍵值對”訪問字典
• 10.1.3 遍曆字典
• 10.1.4 添加、修改和刪除字典元素
• 10.1.5 字典推導式
10.2 集 閤
• 10.2.1 集閤的創建
• 10.2.2 集閤的添加和刪除
• 10.2.3 集閤的交集、並集和差集運算
10.3 列錶、元組、字典和集閤的區彆
10.4 實戰任務
• 任務1:統計需要取快遞人員的名單
• 任務2:模擬手機通訊錄管理
第11 章 用函數實現模塊化程序設計
11.1 函數的創建和調用
• 11.1.1 創建一個函數
• 11.1.2 調用函數
• 11.1.3 pass空語句
11.2 參數傳遞
• 11.2.1 瞭解形式參數和實際參數
• 11.2.2 位置參數
• 11.2.3 關鍵字參數
• 11.2.4 為參數設置默認值
• 11.2.5 可變參數
11.3 返 迴 值
11.4 變量的作用域
• 11.4.1 局部變量
• 11.4.2 全局變量
11.5 匿名函數
11.6 常用Python內置函數
11.7 實戰任務
• 任務1:暗語輸齣信息
• 任務2:模擬貨幣兌換
• 任務3:模擬星座判斷
第12 章 類和對象
12.1 麵嚮對象概述
• 12.1.1 對象
• 12.1.2 類
• 12.1.3 麵嚮對象程序設計的特點
12.2 類的定義和使用
• 12.2.1 定義類
• 12.2.2 創建類的實例
• 12.2.3 “魔術”方法—__init__()
• 12.2.4 創建類的成員並訪問
• 12.2.5 訪問限製
12.3 屬 性
• 12.3.1 創建用於計算的屬性
• 12.3.2 為屬性添加安全保護機製
12.4 繼 承
• 12.4.1 繼承的基本語法
• 12.4.2 方法重寫
• 12.4.3 派生類中調用基類的__init__()方法
12.5 實戰任務
• 任務1:模擬銀行賬戶資金交易管理
• 任務2:設計藥品medicine類
第13 章 模 塊
13.1 模塊概述
13.2 自定義模塊
• 13.2.1 創建模塊
• 13.2.2 使用import語句導入模塊
• 13.2.3 使用from…import語句導入模塊
• 13.2.4 模塊搜索目錄
13.3 以主程序的形式執行
13.4 Python中的包
• 13.4.1 Python程序的包結構
• 13.4.2 創建和使用包
13.5 引用其他模塊
• 13.5.1 導入和使用標準模塊
• 13.5.2 第三方模塊的下載與安裝
13.6 實戰任務
• 任務1:模擬高鐵售票係統
• 任務2:推算幾天後的日期
• 任務3:輸齣福彩3D號碼
第14 章 文件與IO
14.1 基本文件操作
• 14.1.1 創建和打開文件
• 14.1.2 關閉文件
• 14.1.3 打開文件時使用with語句
• 14.1.4 寫入文件內容
• 14.1.5 讀取文件
14.2 目錄操作
• 14.2.1 os和os.path模塊
• 14.2.2 路徑
• 14.2.3 判斷目錄是否存在
• 14.2.4 創建目錄
• 14.2.5 刪除目錄
• 14.2.6 遍曆目錄
14.3 高級文件操作
• 14.3.1 刪除文件
• 14.3.2 重命名文件和目錄
• 14.3.3 獲取文件基本信息
14.4 實戰任務
• 任務1:記錄用戶登錄日誌
• 任務2:模擬淘寶客服自動迴復
第3 篇 高級篇
第15 章 使用Python 操作數據庫
15.1 數據庫編程接口
• 15.1.1 連接對象
• 15.1.2 遊標對象
15.2 使用SQLite
• 15.2.1 創建數據庫文件
• 15.2.2 操作SQLite
15.3 使用MySQL
• 15.3.1 下載安裝MySQL
• 15.3.2 安裝PyMySQL
• 15.3.3 連接數據庫
• 15.3.4 創建數據錶
• 15.3.5 操作MySQL數據錶
15.4 實戰任務
• 任務1:記錄用戶登錄日誌(數據庫版)
• 任務2:模擬會員管理係統
第16 章 進程和綫程
16.1 什麼是進程
16.2 創建進程的常用方式
• 16.2.1 使用multiprocessing模塊創建進程
• 16.2.2 使用Process子類創建進程
• 16.2.3 使用進程池Pool創建進程
16.3 通過隊列實現進程間通信
• 16.3.1 隊列簡介
• 16.3.2 多進程隊列的使用
• 16.3.3 使用隊列在進程間通信
16.4 什麼是綫程
16.5 創建綫程
• 16.5.1 使用threading模塊創建綫程
• 16.5.2 使用Thread子類創建綫程
16.6 綫程間通信
• 16.6.1 什麼是互斥鎖
• 16.6.2 使用互斥鎖
• 16.6.3 使用隊列在綫程間通信
16.7 關於綫程需要注意的兩點
• 16.7.1 進程和綫程的區彆
• 16.7.2 多綫程非全局變量是否要加鎖
16.8 實戰任務
• 任務1:模擬倒計時程序
• 任務2:生成日誌與讀取日誌
第17 章 網絡編程
17.1 網絡基礎
• 17.1.1 為什麼要使用通信協議
• 17.1.2 TCP/IP簡介
• 17.1.3 UDP簡介
• 17.1.4 Socket簡介
17.2 TCP編程
• 17.2.1 創建TCP服務器
• 17.2.2 創建TCP客戶端
• 17.2.3 執行TCP服務器和客戶端
17.3 UDP編程
• 17.3.1 創建UDP 服務器
• 17.3.2 創建UDP 客戶端
• 17.3.3 執行UDP 服務器和客戶端
17.4 實戰任務
• 任務1:模擬網絡嗅探器
• 任務2:掃描並輸齣局域網占用的IP地址
• 任務3:輸齣本地計算機名稱與本地計算機的IP地址
• 任務4:獲取遠程主機的IP地址
• 任務5:簡單Web聊天程序
第18 章 異常處理及程序調試
18.1 異常概述
18.2 異常處理語句
• 18.2.1 try…except語句
• 18.2.2 try…except…else語句
• 18.2.3 try…except…finally語句
• 18.2.4 使用raise語句拋齣異常
18.3 程序調試
• 18.3.1 使用自帶的IDLE進行程序調試
• 18.3.2 使用assert語句調試程序
第4 篇 框架篇
第19 章 常用的GUI 框架
19.1 初識GUI
• 19.1.1 什麼是GUI
• 19.1.2 常用的GUI框架
19.2 wxPython框架的使用
• 19.2.1 安裝 wxPython
• 19.2.2 創建一個wx.App的子類
• 19.2.3 直接使用wx.App
• 19.2.4 使用wx.Frame框架
• 19.2.5 常用控件
• 19.2.6 BoxSizer布局
• 19.2.7 事件處理
19.3 PyQt框架的使用
• 19.3.1 安裝PyQt
• 19.3.2 使用第三方開發工具
• 19.3.3 創建主窗體
• 19.3.4 常用控件
• 19.3.5 布局管理
• 19.3.6 信號與槽的關聯
• 19.3.7 資源文件的使用
第20 章 pygame 遊戲框架
20.1 初識pygame
• 20.1.1 安裝pygame
• 20.1.2 pygame常用模塊
20.2 pygame的基本使用
第21 章 網絡爬蟲框架
21.1 初識網絡爬蟲
• 21.1.1 網絡爬蟲概述
• 21.1.2 網絡爬蟲的分類
• 21.1.3 網絡爬蟲的基本原理
21.2 網絡爬蟲的常用技術
• 21.2.1 Python的網絡請求
• 21.2.2 請求headers處理
• 21.2.3 網絡超時
• 21.2.4 代理服務
• 21.2.5 HTML解析之BeautifulSoup
21.3 網絡爬蟲開發常用框架
• 21.3.1 Scrapy爬蟲框架
• 21.3.2 Crawley爬蟲框架
• 21.3.3 PySpider爬蟲框架
21.4 Scrapy爬蟲框架的使用
• 21.4.1 搭建Scrapy爬蟲框架
• 21.4.2 創建Scrapy項目
• 21.4.3 創建爬蟲
• 21.4.4 獲取數據
第22 章 Flask Web 框架的使用
22.1 Web框架簡介
• 22.1.1 什麼是Web框架
• 22.1.2 常用的Web框架
22.2 Flask框架的使用
• 22.2.1 安裝虛擬環境
• 22.2.2 安裝Flask
• 22.2.3 第一個Flask程序
• 22.2.4 開啓調試模式
• 22.2.5 路由
• 22.2.6 靜態文件
• 22.2.7 模闆
第23 章 Django Web 框架的使用
23.1 安裝Django Web框架
23.2 Django框架的使用
• 23.2.1 創建一個Django項目
• 23.2.2 創建App
• 23.2.3 數據模型(models)
• 23.2.4 管理後颱
• 23.2.5 路由(urls)
• 23.2.6 錶單(forms)
• 23.2.7 視圖(views)
• 23.2.8 Django模闆
第5 篇 遊戲開發篇
第24 章 榖歌小恐龍遊戲
24.1 項目概述
24.2 設計流程
24.3 係統預覽
24.4 開發工具準備
24.5 榖歌小恐龍遊戲的實現
• 24.5.1 主窗體的實現
• 24.5.2 滾動地圖的顯示
• 24.5.3 可以跳躍的小恐龍
• 24.5.4 障礙物的齣現
• 24.5.5 碰撞與積分
第25 章 飛機大戰遊戲
25.1 概 述
25.2 係統預覽
25.3 開發工具準備
25.4 飛機大戰遊戲的實現
• 25.4.1 主窗體的實現
• 25.4.2 遊戲界麵設置
• 25.4.3 用戶交互操作的實現
• 25.4.4 對子彈的處理
• 25.4.5 敵機的處理
• 25.4.6 顯示遊戲得分
• 25.4.7 遊戲結束繪製遊戲結束畫麵
• 25.4.8 更新排行榜內容
• 25.4.9 判斷鼠標的單擊位置
• 25.4.10 遊戲排行榜
第26 章 微信跳一跳輔助工具
26.1 項目概述
26.2 設計流程
26.3 係統預覽
26.4 開發工具準備
26.5 開發前的準備工作
• 26.5.1 PIL模塊的安裝
• 26.5.2 PIL模塊的使用
• 26.5.3 matplotlib模塊的使用
• 26.5.4 ADB工具
26.6 手動輔助
• 26.6.1 窗體的實現
• 26.6.2 同步手機屏幕的畫麵
• 26.6.3 選擇起點與終點實現跳躍
• 26.6.4 實現重選功能
26.7 自動輔助
• 26.7.1 同步手機屏幕的畫麵
• 26.7.2 掃描棋子與棋盤
• 26.7.3 實現自動跳躍
第6 篇 人工智能開發篇
第27 章 汽車之傢圖片抓取工具
27.1 概 述
27.2 設計流程
27.3 係統預覽
27.4 開發工具準備
27.5 汽車之傢圖片抓取工具的實現
• 27.5.1 登錄功能
• 27.5.2 主窗體設計
• 27.5.3 創建爬蟲類
• 27.5.4 開啓爬蟲類
• 27.5.5 查看大圖功能
第28 章 AI 圖像識彆工具
28.1 概 述
28.2 設計流程
28.3 係統預覽
28.4 開發工具準備
28.5 開發前的準備工作
• 28.5.1 申請百圖AI接口
• 28.5.2 urllib、urllib.request模塊
• 28.5.3 json模塊
28.6 AI圖像識彆工具的開發
• 28.6.1 根據項目設計製作窗體
• 28.6.2 添加分類
• 28.6.3 選擇識彆的圖片
• 28.6.4 銀行卡圖像識彆
• 28.6.5 植物圖像識彆
• 28.6.6 復製識彆結果到剪貼闆
第7 篇 商業項目篇
第29 章 e 起去旅行網站
29.1 係統功能設計
• 29.1.1 係統功能結構
• 29.1.2 係統業務流程
29.2 係統開發必備
• 29.2.1 係統開發環境
• 29.2.2 文件夾組織結構
29.3 數據庫設計
• 29.3.1 數據庫概要說明
• 29.3.2 數據錶模型
• 29.3.3 數據錶關係
29.4 前颱用戶模塊設計
• 29.4.1 會員注冊功能實現
• 29.4.2 會員登錄功能實現
• 29.4.3 會員退齣功能實現
29.5 前颱首頁模塊設計
• 29.5.1 推薦景區功能實現
• 29.5.2 推薦地區功能實現
• 29.5.3 搜索景區功能實現
29.6 景區模塊設計
• 29.6.1 查看景區功能實現
• 29.6.2 查看遊記功能實現
• 29.6.3 收藏景區功能實現
• 29.6.4 查看收藏景區功能實現
29.7 關於我們模塊設計
29.8 後颱模塊設計
• 29.8.1 實現管理員登錄功能
• 29.8.2 實現景區管理功能
• 29.8.3 實現地區管理功能
• 29.8.4 實現遊記管理功能
• 29.8.5 實現會員管理功能
• 29.8.6 實現日誌管理功能
第30 章 看店寶(京東版)
30.1 項目概述
30.2 設計流程
30.3 係統預覽
30.4 開發工具準備
30.5 主窗體界麵設計
• 30.5.1 對主窗體進行可視化設計
• 30.5.2 將可視化窗體轉換為.py文件
• 30.5.3 設置窗體及控件背景
• 30.5.4 創建窗體控製文件
• 30.5.5 主窗體預覽效果
30.6 設計數據庫錶結構
30.7 初始數據的爬取
• 30.7.1 爬取排行信息
• 30.7.2 爬取價格信息
• 30.7.3 爬取評價信息
• 30.7.4 數據庫操作
30.8 圖錶分析數據
• 30.8.1 餅形圖展示評價信息
• 30.8.2 分析齣版社所占比例的條形圖
• 30.8.3 摺綫圖分析價格走勢
• 30.8.4 Top10數據展示
30.9 商品排行展示
• 30.9.1 熱銷商品排行榜
• 30.9.2 熱門商品展示
30.10 關注商品
• 30.10.1 分析關注商品的預警信息
• 30.10.2 重點商品的關注與取消
30.11 商品營銷預警
• 30.11.1 商品中評、差評預警
• 30.11.2 商品價格變化預警
30.12 關注商品圖錶分析
• 30.12.1 關注商品評價分析餅圖
• 30.12.2 關注商品齣版社占有比例
30.13 其他功能
附錄1 內置函數
附錄2 PyCharm常用快捷鍵
附錄3 PyCharm常用設置
· · · · · · (
收起)