內容簡介
本書分為兩部分:教學篇和實驗篇。教學篇共15章,內容包括Python入門,Python基礎,程式設計結構,組合數據,函式,面向對象程式設計,模組、包和庫,正則表達式,檔案訪問,異常處理和單元測試,資料庫訪問,圖形用戶界面編程,多進程與多執行緒,網路程式設計,Python與人工智慧;書中內容以程式設計套用為導向,突出使用Python解決實際問題的方法和能力訓練。實驗篇包括與各章知識對應的實驗內容,通過實驗培養學生使用Python解決實際問題的編程能力。本書完全面向Python 3.X,全部案例在Python 3.7.2和PyCharm 2018 Professional 3.5環境中編寫、測試。除基本案例外,教學篇在各章(不包括第1章)中都精選和安排了與實際結合緊密的典型案例,讓讀者既可以通過基本案例學到Python基礎知識和使用方法,又可以通過典型案例對所學知識進行綜合練習和套用,進一步提高編程能力。本書可作為高等學校電腦程式設計課程的教材,也可供Python從業者學習和作為工具書使用。
圖書目錄
第1部分 教 學 篇
第1章 Python入門
1.1 概述
1.1.1 Python簡介
1.1.2 Python的特點
1.1.3 Python的套用
1.2 開發環境
1.2.1 Python版本
1.2.2 常用開發環境
1.2.3 Python下載和安裝
1.2.4 PyCharm下載和安裝
1.2.5 第三方庫安裝
1.3 程式開發
1.3.1 程式運行方式
1.3.2 使用Python自帶工具開發Python程式
1.3.3 使用PyCharm開發Python程式
1.4 程式結構和編碼規範
1.4.1 檔案類型
1.4.2 代碼結構
1.4.3 程式編碼規範
1.5 輸入、輸出函式
1.5.1 input()函式
1.5.2 print()函式
練習題1
第2章 Python基礎
2.1 數據類型
2.2 數字類型
2.2.1 整型
2.2.2 浮點類型
2.2.3 複數類型
2.2.4 布爾類型
2.2.5 數字類型轉換
2.2.6 分數和高精度實數
2.2.7 常用數學函式
2.3 字元串類型
2.3.1 字元串及創建
2.3.2 字元串訪問
2.3.3 字元串運算
2.3.4 字元串函式
2.3.5 轉義字元
2.4 常量和變數
2.4.1 常量
2.4.2 變數
2.5 運算符和表達式
2.5.1 常用運算符和表達式
2.5.2 運算符優先權
2.5.3 補充說明
2.6 特殊內置函式
2.6.1 內置函式簡介
2.6.2 特殊內置函式
2.7 程式調試
2.7.1 錯誤類型
2.7.2 使用Python自帶的Shell工具進行程式調試
2.7.3 在PyCharm中調試程式
2.8 典型案例
2.8.1 計算複雜算術運算表達式的值
2.8.2 求幾何面、幾何體的(表)面積或體積
2.8.3 解一元二次方程
2.8.4 驗證碼驗證
練習題2
第3章 程式設計結構
3.1 概述
3.2 順序結構
3.3 選擇結構
3.3.1 單分支結構
3.3.2 二分支結構
3.3.3 多分支結構
3.3.4 條件運算
3.3.5 選擇結構嵌套
3.4 循環結構
3.4.1 while語句
3.4.2 for語句
3.4.3 break、continue和pass語句
3.4.4 循環結構的嵌套
3.5 典型案例
3.5.1 計算部分級數和
3.5.2 使用選擇結構計算員工工資
3.5.3 用遞推法求解實際問題
3.5.4 “試湊法”解方程
3.5.5 計算機猜數
3.5.6 模擬自動飲料機
練習題3
第4章 組合數據
4.1 概述
4.2 列表
4.2.1 列表創建
4.2.2 列表訪問
4.2.3 列表複製和刪除
4.2.4 列表運算
4.2.5 列表統計
4.2.6 列表查找與排序
4.3 元組
4.3.1 元組創建
4.3.2 元組訪問
4.3.3 元組複製和刪除
4.3.4 元組運算
4.3.5 元組統計
4.4 字典
4.4.1 字典創建
4.4.2 字典訪問
4.4.3 字典複製和刪除
4.5 集合
4.5.1 集合創建
4.5.2 集合訪問
4.5.3 集合複製和刪除
4.5.4 集合運算
4.5.5 集合統計
4.6 嵌套組合數據
4.7 典型案例
4.7.1 查找
4.7.2 排序
4.7.3 推導式
4.7.4 列表作為堆疊和佇列使用
4.7.5 基於組合數據的遊戲角色管理
練習題4
第5章 函式
5.1 函式定義和調用
5.1.1 函式定義
5.1.2 函式調用
5.2 函式參數
5.2.1 參數傳遞
5.2.2 參數類型
5.2.3 參數傳遞的序列解包
5.3 特殊函式
5.3.1 匿名函式
5.3.2 遞歸函式
5.3.3 嵌套函式
5.4 裝飾器
5.4.1 裝飾器的定義和調用
5.4.2 帶參數的裝飾器
5.5 變數作用域
5.6 典型案例
5.6.1 加密和解密
5.6.2 求最大公約數
5.6.3 使用裝飾器檢查函式參數合法性
5.6.4 模擬輪盤抽獎遊戲
練習題5
第3章 程式設計結構
3.1 概述
3.2 順序結構
3.3 選擇結構
3.3.1 單分支結構
3.3.2 二分支結構
3.3.3 多分支結構
3.3.4 條件運算
3.3.5 選擇結構嵌套
3.4 循環結構
3.4.1 while語句
3.4.2 for語句
3.4.3 break、continue和pass語句
3.4.4 循環結構的嵌套
3.5 典型案例
3.5.1 計算部分級數和
3.5.2 使用選擇結構計算員工工資
3.5.3 用遞推法求解實際問題
3.5.4 “試湊法”解方程
3.5.5 計算機猜數
3.5.6 模擬自動飲料機
練習題3
第4章 組合數據
4.1 概述
4.2 列表
4.2.1 列表創建
4.2.2 列表訪問
4.2.3 列表複製和刪除
4.2.4 列表運算
4.2.5 列表統計
4.2.6 列表查找與排序
4.3 元組
4.3.1 元組創建
4.3.2 元組訪問
4.3.3 元組複製和刪除
4.3.4 元組運算
4.3.5 元組統計
4.4 字典
4.4.1 字典創建
4.4.2 字典訪問
4.4.3 字典複製和刪除
4.5 集合
4.5.1 集合創建
4.5.2 集合訪問
4.5.3 集合複製和刪除
4.5.4 集合運算
4.5.5 集合統計
4.6 嵌套組合數據
4.7 典型案例
4.7.1 查找
4.7.2 排序
4.7.3 推導式
4.7.4 列表作為堆疊和佇列使用
4.7.5 基於組合數據的遊戲角色管理
練習題4
第5章 函式
5.1 函式定義和調用
5.1.1 函式定義
5.1.2 函式調用
5.2 函式參數
5.2.1 參數傳遞
5.2.2 參數類型
5.2.3 參數傳遞的序列解包
5.3 特殊函式
5.3.1 匿名函式
5.3.2 遞歸函式
5.3.3 嵌套函式
5.4 裝飾器
5.4.1 裝飾器的定義和調用
5.4.2 帶參數的裝飾器
5.5 變數作用域
5.6 典型案例
5.6.1 加密和解密
5.6.2 求最大公約數
5.6.3 使用裝飾器檢查函式參數合法性
5.6.4 模擬輪盤抽獎遊戲
練習題5
第6章 面向對象程式設計
6.1 概述
6.2 類與對象
6.2.1 類的定義
6.2.2 對象創建和使用
6.3 類的成員
6.3.1 成員類型
6.3.2 內置成員
6.4 類的方法
6.4.1 類的方法類型
6.4.2 屬性
6.4.3 特殊方法
6.5 類的繼承與多態
6.5.1 類的繼承
6.5.2 類的多態
6.6 抽象類和抽象方法
6.7 典型案例——書籍出租管理系統
練習題6
第7章 模組、包和庫
7.1 概述
7.2 常用標準庫模組
7.2.1 Turtle模組
7.2.2 Random模組
7.2.3 Time模組和Datetime模組
7.2.4 Os模組
7.2.5 Sys模組
7.2.6 Timeit模組
7.2.7 Zlib模組
7.3 常用第三方庫
7.3.1 NumPy庫
7.3.2 Pandas庫
7.3.3 SciPy庫
7.3.4 Matplotlib庫
7.3.5 Jieba庫
7.3.6 Pyinstaller庫
7.4 自定義模組
7.5 典型案例
7.5.1 使用Turtle繪製表面填充正方體
7.5.2 使用NumPy和Matplotlib分析股票
7.5.3 使用Pandas分析股票交易數據
7.5.4 使用圖像處理庫處理和顯示圖像
練習題7
第8章 正則表達式
8.1 概述
8.2 正則表達式語法
8.3 使用正則表達式模組處理字元串
8.3.1 Re模組中的常用函式
8.3.2 常用正則表達式
8.4 典型案例
8.4.1 提取並匯總字元串中的費用
8.4.2 校驗字元串合法性
8.4.3 解析網頁內容
練習題8
第9章 檔案訪問
9.1 概述
9.2 文本檔案訪問
9.2.1 打開檔案
9.2.2 檔案操作
9.3 二進制檔案訪問
9.3.1 使用Pickle模組讀/寫二進制檔案
9.3.2 使用Struct模組讀/寫二進制檔案
9.3.3 使用Marshal模組讀/寫二進制檔案
9.3.4 使用Shelve模組讀/寫二進制檔案
9.4 典型案例
9.4.1 合併檔案
9.4.2 CSV檔案操作
練習題9
第10章 異常處理和單元測試
10.1 異常類和異常處理
10.1.1 異常和異常類
10.1.2 異常處理
10.1.3 斷言語句
10.2 單元測試
10.3 典型案例
10.3.1 自定義異常類
10.3.2 自定義測試類
練習題10
第11章 資料庫訪問
11.1 概述
11.2 常用關係資料庫訪問
11.2.1 常用關係資料庫簡介
11.2.2 Python DB-API規範
11.2.3 典型案例——訪問關係資料庫
11.3 非關係資料庫訪問
11.3.1 MongoDB
11.3.2 典型案例——訪問MongoDB
練習題11
第12章 圖形用戶界面編程
12.1 wxPython庫簡介
12.2 事件處理
12.3 常用控制項
12.3.1 窗體
12.3.2 按鈕、標籤和文本框
12.3.3 單選按鈕、複選框
12.3.4 列表框、組合框
12.3.5 選單
12.3.6 工具列、狀態欄
12.3.7 對話框
12.4 布局
12.4.1 布局及其類型
12.4.2 wx.BoxSizer
12.4.3 wx.GridSizer
12.5 典型案例——專利管理系統
練習題12
第13章 多進程與多執行緒
13.1 Python中的多進程
13.1.1 進程的含義
13.1.2 創建進程
13.1.3 進程通信
13.1.4 進程同步
13.2 Python中的多執行緒
13.2.1 執行緒含義
13.2.2 創建執行緒
13.2.3 執行緒通信
13.2.4 執行緒同步
13.3 典型案例
13.3.1 使用多進程導入/導出數據
13.3.2 使用多執行緒模擬彩票發行
練習題13
第14章 網路程式設計
14.1 網路協定
14.1.1 網際網路協定族
14.1.2 TCP/IP
14.2 套接字(Socket)編程
14.2.1 套接字簡介
14.2.2 基於TCP的套接字編程
14.2.3 基於UDP的套接字編程
14.3 Web編程
14.3.1 Web編程概述
14.3.2 Django
14.4 典型案例
14.4.1 簡單嗅探器
14.4.2 多執行緒連線埠掃描
14.4.3 用網路爬蟲爬取全國城市天氣信息
14.4.4 基於Django的個人部落格
練習題14
第15章 Python與人工智慧
15.1 概述
15.1.1 人工智慧簡介
15.1.2 Python與人工智慧
15.2 機器學習
15.2.1 Sklearn
15.2.2 典型案例——使用線性回歸模型訓練、測試和預測數據
15.3 深度學習
15.3.1 TensorFlow
15.3.2 典型案例——識別模糊的手寫數字圖片
練習題15
第2部分 實 驗 篇
實驗1 Python入門
一、實驗目的
二、實驗內容
實驗2 Python基礎
一、實驗目的
二、實驗內容
實驗3 程式設計結構
一、實驗目的
二、實驗內容
實驗4 組合數據
一、實驗目的
二、實驗內容
實驗5 函式
一、實驗目的
二、實驗內容
實驗6 面向對象程式設計
一、實驗目的
二、實驗內容
實驗7 模組、包和庫
一、實驗目的
二、實驗內容
實驗8 正則表達式
一、實驗目的
二、實驗內容
實驗9 檔案訪問
一、實驗目的
二、實驗內容
實驗10 異常處理和單元測試
一、實驗目的
二、實驗內容
實驗11 資料庫訪問
一、實驗目的
二、實驗內容
實驗12 圖形用戶界面編程
一、實驗目的
二、實驗內容
實驗13 多進程與多執行緒
一、實驗目的
二、實驗內容
實驗14 網路程式設計
一、實驗目的
二、實驗內容
實驗15 Python與人工智慧
一、實驗目的
二、實驗內容
參考文獻