內容簡介
Python也可以這樣學
本書簡介
全書近200個涉及不同行業領域的實用案例,以及含有上千個程式碼片段並搭配大量的註解,方便讀者深入學習與理解。其內未插入多餘的輸出結果或軟體的安裝截圖,只保留必要的執行結果,以供讀者參考與比較。充分利用寶貴的篇幅介紹以及擴增豐富的知識,絕對物超所值。
適用讀者
‧重視Python程式實務,想要立即應用於工作的讀者。
‧對Python有一定基礎,想要學習進階內容的讀者。
‧想要打好基礎並瞭解Python工作原理的讀者。
‧想要利用零碎時間自我進修一門程式語言的讀者。
本書簡介
全書近200個涉及不同行業領域的實用案例,以及含有上千個程式碼片段並搭配大量的註解,方便讀者深入學習與理解。其內未插入多餘的輸出結果或軟體的安裝截圖,只保留必要的執行結果,以供讀者參考與比較。充分利用寶貴的篇幅介紹以及擴增豐富的知識,絕對物超所值。
適用讀者
‧重視Python程式實務,想要立即應用於工作的讀者。
‧對Python有一定基礎,想要學習進階內容的讀者。
‧想要打好基礎並瞭解Python工作原理的讀者。
‧想要利用零碎時間自我進修一門程式語言的讀者。
作者簡介
董付國
男,為一名副教授。自2000 年開始工作以來,先後講授過組合語言、C/C++/C#、Java 和Python 等多門程式語言,以及計算機組成原理、電腦網路、資料庫原理、資料結構、作業系統、電腦安全、網路安全、電腦圖形學、數位影像處理、遊戲規劃等多門課程。他同時開發過多套不同領域的管理系統,在高水準學術期刊與會議上發表論文40 餘篇,其中近30 篇被EI檢索。學習工作之餘,最大的愛好是打太極拳。
男,為一名副教授。自2000 年開始工作以來,先後講授過組合語言、C/C++/C#、Java 和Python 等多門程式語言,以及計算機組成原理、電腦網路、資料庫原理、資料結構、作業系統、電腦安全、網路安全、電腦圖形學、數位影像處理、遊戲規劃等多門課程。他同時開發過多套不同領域的管理系統,在高水準學術期刊與會議上發表論文40 餘篇,其中近30 篇被EI檢索。學習工作之餘,最大的愛好是打太極拳。
內容目錄
Chapter 01 Python 基礎
1.1 Python 是什麼樣的程式語言
1.2 Python 開發環境
1.2.1 百家爭鳴的繁榮景象
1.2.2 IDLE 簡單使用
1.3 變數、運算子與運算式
1.3.1 Python 變數與內建的資料類型
1.3.2 常用的內建函數
1.3.3 運算子與運算式
1.3.4 人機對話基本介面
1.4 模組安裝與使用
1.4.1 安裝Python 擴展庫
1.4.2 模組匯入與使用
1.4.3 撰寫自己的模組和封裝包
Chapter 02 Python 序列
2.1 列表與列表推導式
2.1.1 列表的建立與刪除
2.1.2 列表常用方法
2.1.3 列表推導式
2.1.4 切片
2.2 元組與生成器推導式
2.2.1 元組
2.2.2 生成器推導式
2.3 字典
2.3.1 字典的建立,元素的增加、修改與刪除
2.3.2 存取字典物件的資料
2.3.3 案例精選
2.4 集合
2.4.1 集合的基礎知識
2.4.2 集合的操作與運算
2.4.3 案例精選
2.5 序列拆解
Chapter 03 程式控制結構與函數設計
3.1 選擇結構
3.1.1 條件運算式
3.1.2 選擇結構的幾種形式
3.1.3 案例精選
3.2 迴圈結構
3.2.1 for 迴圈與while 迴圈的基本語法
3.2.2 break 與continue 語句
3.2.3 迴圈程式最佳化技巧
3.2.4 案例精選
3.3 函數設計與使用
3.3.1 基本語法
3.3.2 函數參數不得不說的幾件事
3.3.3 變數作用域
3.3.4 lambda 運算式
3.3.5 案例精選
Chapter 04 物件導向程式設計
4.1 基礎知識
4.1.1 類別的定義與使用
4.1.2 私有成員與公有成員
4.1.3 資料成員
4.1.4 方法
4.1.5 屬性
4.1.6 繼承
4.1.7 特殊方法與運算子重載
4.2 案例精選
4.2.1 自訂陣列
4.2.2 自訂矩陣
4.2.3 自訂佇列
4.2.4 自訂堆疊
4.2.5 自訂二元樹
4.2.6 自訂有向圖
4.2.7 自訂集合
Chapter 05 字串與規則運算式
5.1 字串
5.1.1 字串格式化的兩種形式
5.1.2 字串常用方法
5.1.3 案例精選
5.2 規則運算式
5.2.1 規則運算式語法與子模式擴展語法
5.2.2 re 模組方法與規則運算式物件
5.2.3 案例精選
Chapter 06 檔案與資料夾操作
6.1 檔案物件常用的方法與屬性
6.2 文字檔操作案例精選
6.3 二進位檔案操作案例精選
6.3.1 使用pickle 模組讀寫二進位檔案
6.3.2 使用struct 模組讀寫二進位檔案
6.3.3 使用shelve 模組操作二進位檔案
6.3.4 使用marshal 模組操作二進位檔案
6.4 檔案與資料夾操作
6.4.1 標準庫os、os.path 與shutil 簡介
6.4.2 案例精選
Chapter 07 異常處理結構、測試與除錯程式碼
7.1 異常處理結構
7.1.1 異常是什麼
7.1.2 Python 內建異常類別層級結構
7.1.3 常見異常處理結構的形式
7.2 程式碼測試
7.2.1 doctest
7.2.2 單元測試
7.3 程式碼除錯
7.3.1 使用IDLE 除錯
7.3.2 使用pdb 除錯
Chapter 08 資料庫應用程式開發
8.1 使用Python 操作SQLite 資料庫
8.1.1 Connection 物件
8.1.2 Cursor 物件
8.1.3 Row 物件
8.2 使用Python 操作其他關聯式資料庫
8.2.1 操作Access 資料庫
8.2.2 操作MS SQL Server 資料庫
8.2.3 操作MySQL 資料庫
8.3 操作MongoDB 資料庫
Chapter 09 網路應用程式開發
9.1 電腦網路基礎知識
9.2 Socket 程式設計
9.2.1 UDP 協定程式設計
9.2.2 TCP 協定程式設計
9.2.3 網路封包分析器
9.2.4 多處理序連接埠掃描器
9.2.5 代理伺服器連接埠映射功能的實現
9.2.6 自己編寫FTP 通訊軟體
9.3 網域名稱解析與網頁爬蟲
9.3.1 網頁內容讀取與網域名稱分析
9.3.2 網頁爬蟲
9.3.3 scrapy 框架
9.3.4 BeautifulSoup4
9.4 網站開發
9.4.1 以IIS 執行Python CGI 程式
9.4.2 Python 在ASP.NET 的應用
9.4.3 Flask 框架簡單應用
9.4.4 django 框架簡單應用
Chapter 10 多執行緒與多處理序
10.1 多執行緒程式設計
10.1.1 執行緒的建立與管理
10.1.2 執行緒同步技術
10.2 多處理序程式設計
10.2.1 處理序的建立與管理
10.2.2 處理序間的資料交換
10.2.3 處理序同步技術
Chapter 11 大數據處理
11.1 大數據簡介
11.2 MapReduce 框架
11.3 Spark 應用開發
Chapter 12 圖形程式設計與影像處理
12.1 圖形程式設計
12.1.1 繪製三維圖形
12.1.2 繪製三次貝茲曲線
12.1.3 紋理映射
12.1.3 回應鍵盤事件
12.1.4 光照模型
12.2 影像處理
12.2.1 pillow 模組的基本用法
12.2.2 計算橢圓中心
12.2.3 動態產生比例分配圖
12.2.4 產生驗證碼圖片
12.2.5 gif 動態圖形分離與產生
12.2.6 材質貼圖
12.2.7 影像融合
12.2.8 產生棋盤紋理
Chapter 13 資料分析與科學計算視覺化
13.1 擴展庫numpy 簡介
13.2 科學計算擴展庫scipy
13.2.1 數學、物理常用常數與單位模組constants
13.2.2 特殊函數模組special
13.2.3 訊號處理模組signal
13.2.4 影像處理模組ndimage
13.3 擴展庫pandas 簡介
13.4 統計分析標準庫statistics 用法簡介
13.5 matplotlib
13.5.1 繪製正弦曲線
13.5.2 繪製散點圖
13.5.3 繪製餅狀圖
13.5.4 繪製帶有中文標籤和圖例的圖
13.5.5 繪製圖例標籤中帶有公式的圖
13.5.6 使用pyplot 繪製,多個圖形單獨顯示
13.5.7 繪製三維參數曲線
13.5.8 繪製三維圖形
13.5.9 使用指令繪製自訂圖形
13.5.10 在tkinter 中使用matplotlib
13.5.11 以matplotlib 提供的元件實現互動式圖形顯示
13.5.12 根據即時資料動態更新圖形
13.5.13 以Slider 元件調整曲線參數
Chapter 14 密碼學程式設計
14.1 經典的密碼演算法
14.1.1 凱撒密碼演算法
14.1.2 維吉尼亞密碼
14.1.3 換位元密碼演算法
14.2 安全雜湊演算法
14.3 對稱金鑰密碼演算法DES 和AES
14.4 非對稱金鑰密碼演算法RSA 與數位簽章演算法DSA
14.4.1 RSA
14.4.2 DSA
Chapter 15 tkinter 程式設計精彩案例
15.1 使用者登錄介面
15.2 選擇類元件應用
15.3 簡單文字編輯器
15.4 簡單畫圖程式
15.5 電子時鐘
15.6 簡單動畫
15.7 多視窗程式設計
15.8 螢幕任意區域截圖
15.9 音樂播放機
15.10 遠端桌面監控系統
Chapter 16 課堂教學管理系統設計與實作
16.1 功能簡介
16.1.1 教師端功能
16.1.2 學生端功能
16.2 資料庫設計
16.3 系統整體框架與通用功能設計
16.4 資料匯入功能
16.4.1 匯入學生名單
16.4.2 匯入題庫
16.5 點名與加分功能
16.5.1 線上點名
16.5.2 離線點名與加分
16.6 隨機提問功能
16.7 線上收作業功能
16.7.1 學生端
16.7.2 教師端
16.8 線上自測與線上考試功能
16.8.1 學生端
16.8.2 教師端
16.9 資訊查詢功能
16.10 資料匯出功能
16.11 其他協助工具
16.11.1 防作弊功能
16.11.2 伺服器自動發現功能
16.11.3 Word 版試卷產生功能
結語
參考書目
1.1 Python 是什麼樣的程式語言
1.2 Python 開發環境
1.2.1 百家爭鳴的繁榮景象
1.2.2 IDLE 簡單使用
1.3 變數、運算子與運算式
1.3.1 Python 變數與內建的資料類型
1.3.2 常用的內建函數
1.3.3 運算子與運算式
1.3.4 人機對話基本介面
1.4 模組安裝與使用
1.4.1 安裝Python 擴展庫
1.4.2 模組匯入與使用
1.4.3 撰寫自己的模組和封裝包
Chapter 02 Python 序列
2.1 列表與列表推導式
2.1.1 列表的建立與刪除
2.1.2 列表常用方法
2.1.3 列表推導式
2.1.4 切片
2.2 元組與生成器推導式
2.2.1 元組
2.2.2 生成器推導式
2.3 字典
2.3.1 字典的建立,元素的增加、修改與刪除
2.3.2 存取字典物件的資料
2.3.3 案例精選
2.4 集合
2.4.1 集合的基礎知識
2.4.2 集合的操作與運算
2.4.3 案例精選
2.5 序列拆解
Chapter 03 程式控制結構與函數設計
3.1 選擇結構
3.1.1 條件運算式
3.1.2 選擇結構的幾種形式
3.1.3 案例精選
3.2 迴圈結構
3.2.1 for 迴圈與while 迴圈的基本語法
3.2.2 break 與continue 語句
3.2.3 迴圈程式最佳化技巧
3.2.4 案例精選
3.3 函數設計與使用
3.3.1 基本語法
3.3.2 函數參數不得不說的幾件事
3.3.3 變數作用域
3.3.4 lambda 運算式
3.3.5 案例精選
Chapter 04 物件導向程式設計
4.1 基礎知識
4.1.1 類別的定義與使用
4.1.2 私有成員與公有成員
4.1.3 資料成員
4.1.4 方法
4.1.5 屬性
4.1.6 繼承
4.1.7 特殊方法與運算子重載
4.2 案例精選
4.2.1 自訂陣列
4.2.2 自訂矩陣
4.2.3 自訂佇列
4.2.4 自訂堆疊
4.2.5 自訂二元樹
4.2.6 自訂有向圖
4.2.7 自訂集合
Chapter 05 字串與規則運算式
5.1 字串
5.1.1 字串格式化的兩種形式
5.1.2 字串常用方法
5.1.3 案例精選
5.2 規則運算式
5.2.1 規則運算式語法與子模式擴展語法
5.2.2 re 模組方法與規則運算式物件
5.2.3 案例精選
Chapter 06 檔案與資料夾操作
6.1 檔案物件常用的方法與屬性
6.2 文字檔操作案例精選
6.3 二進位檔案操作案例精選
6.3.1 使用pickle 模組讀寫二進位檔案
6.3.2 使用struct 模組讀寫二進位檔案
6.3.3 使用shelve 模組操作二進位檔案
6.3.4 使用marshal 模組操作二進位檔案
6.4 檔案與資料夾操作
6.4.1 標準庫os、os.path 與shutil 簡介
6.4.2 案例精選
Chapter 07 異常處理結構、測試與除錯程式碼
7.1 異常處理結構
7.1.1 異常是什麼
7.1.2 Python 內建異常類別層級結構
7.1.3 常見異常處理結構的形式
7.2 程式碼測試
7.2.1 doctest
7.2.2 單元測試
7.3 程式碼除錯
7.3.1 使用IDLE 除錯
7.3.2 使用pdb 除錯
Chapter 08 資料庫應用程式開發
8.1 使用Python 操作SQLite 資料庫
8.1.1 Connection 物件
8.1.2 Cursor 物件
8.1.3 Row 物件
8.2 使用Python 操作其他關聯式資料庫
8.2.1 操作Access 資料庫
8.2.2 操作MS SQL Server 資料庫
8.2.3 操作MySQL 資料庫
8.3 操作MongoDB 資料庫
Chapter 09 網路應用程式開發
9.1 電腦網路基礎知識
9.2 Socket 程式設計
9.2.1 UDP 協定程式設計
9.2.2 TCP 協定程式設計
9.2.3 網路封包分析器
9.2.4 多處理序連接埠掃描器
9.2.5 代理伺服器連接埠映射功能的實現
9.2.6 自己編寫FTP 通訊軟體
9.3 網域名稱解析與網頁爬蟲
9.3.1 網頁內容讀取與網域名稱分析
9.3.2 網頁爬蟲
9.3.3 scrapy 框架
9.3.4 BeautifulSoup4
9.4 網站開發
9.4.1 以IIS 執行Python CGI 程式
9.4.2 Python 在ASP.NET 的應用
9.4.3 Flask 框架簡單應用
9.4.4 django 框架簡單應用
Chapter 10 多執行緒與多處理序
10.1 多執行緒程式設計
10.1.1 執行緒的建立與管理
10.1.2 執行緒同步技術
10.2 多處理序程式設計
10.2.1 處理序的建立與管理
10.2.2 處理序間的資料交換
10.2.3 處理序同步技術
Chapter 11 大數據處理
11.1 大數據簡介
11.2 MapReduce 框架
11.3 Spark 應用開發
Chapter 12 圖形程式設計與影像處理
12.1 圖形程式設計
12.1.1 繪製三維圖形
12.1.2 繪製三次貝茲曲線
12.1.3 紋理映射
12.1.3 回應鍵盤事件
12.1.4 光照模型
12.2 影像處理
12.2.1 pillow 模組的基本用法
12.2.2 計算橢圓中心
12.2.3 動態產生比例分配圖
12.2.4 產生驗證碼圖片
12.2.5 gif 動態圖形分離與產生
12.2.6 材質貼圖
12.2.7 影像融合
12.2.8 產生棋盤紋理
Chapter 13 資料分析與科學計算視覺化
13.1 擴展庫numpy 簡介
13.2 科學計算擴展庫scipy
13.2.1 數學、物理常用常數與單位模組constants
13.2.2 特殊函數模組special
13.2.3 訊號處理模組signal
13.2.4 影像處理模組ndimage
13.3 擴展庫pandas 簡介
13.4 統計分析標準庫statistics 用法簡介
13.5 matplotlib
13.5.1 繪製正弦曲線
13.5.2 繪製散點圖
13.5.3 繪製餅狀圖
13.5.4 繪製帶有中文標籤和圖例的圖
13.5.5 繪製圖例標籤中帶有公式的圖
13.5.6 使用pyplot 繪製,多個圖形單獨顯示
13.5.7 繪製三維參數曲線
13.5.8 繪製三維圖形
13.5.9 使用指令繪製自訂圖形
13.5.10 在tkinter 中使用matplotlib
13.5.11 以matplotlib 提供的元件實現互動式圖形顯示
13.5.12 根據即時資料動態更新圖形
13.5.13 以Slider 元件調整曲線參數
Chapter 14 密碼學程式設計
14.1 經典的密碼演算法
14.1.1 凱撒密碼演算法
14.1.2 維吉尼亞密碼
14.1.3 換位元密碼演算法
14.2 安全雜湊演算法
14.3 對稱金鑰密碼演算法DES 和AES
14.4 非對稱金鑰密碼演算法RSA 與數位簽章演算法DSA
14.4.1 RSA
14.4.2 DSA
Chapter 15 tkinter 程式設計精彩案例
15.1 使用者登錄介面
15.2 選擇類元件應用
15.3 簡單文字編輯器
15.4 簡單畫圖程式
15.5 電子時鐘
15.6 簡單動畫
15.7 多視窗程式設計
15.8 螢幕任意區域截圖
15.9 音樂播放機
15.10 遠端桌面監控系統
Chapter 16 課堂教學管理系統設計與實作
16.1 功能簡介
16.1.1 教師端功能
16.1.2 學生端功能
16.2 資料庫設計
16.3 系統整體框架與通用功能設計
16.4 資料匯入功能
16.4.1 匯入學生名單
16.4.2 匯入題庫
16.5 點名與加分功能
16.5.1 線上點名
16.5.2 離線點名與加分
16.6 隨機提問功能
16.7 線上收作業功能
16.7.1 學生端
16.7.2 教師端
16.8 線上自測與線上考試功能
16.8.1 學生端
16.8.2 教師端
16.9 資訊查詢功能
16.10 資料匯出功能
16.11 其他協助工具
16.11.1 防作弊功能
16.11.2 伺服器自動發現功能
16.11.3 Word 版試卷產生功能
結語
參考書目
ISBN: 9789864342587