Python + ChatGPT
零基礎 + 高效率
學程式設計與運算思維
第4版
★★★★★【前一版是國內第1本ChatGPT輔助學習Python】★★★★★
★★★★★【Google Colab + Python Shell環境解說】★★★★★
★★★★★【前一版是國內第1本用ChatGPT語言模型】★★★★★
★★★★★【設計線上AI客服和Emoji機器人程式】★★★★★
★★★★★【前一版是國內第1本講解設計Pythonic程式★★★★★
本書特色
相較於第3版,第4版新增與修訂下列內容:
☆ 增加ChatGPT處理除錯(Debug)、程式註解、重構和重寫程式的應用。
★ 更完整的解說機器學習知識的觀念。
☆ 用「gpt-4」語言模型設計「線上AI客服中心」和「Emoji翻譯機器人」。
★ 提供「Google Colab的ipynb檔案」與「一般的py檔案」兩種程式。
☆ 小細節修訂約50處。
本書用約700個一般實例與程式實例,同時使用ChatGPT輔助學習,講解了下列知識:
★科技與人工智慧知識融入內容
☆ 完整Python語法
★ 串列、元組、字典、集合
☆ 經緯度計算城市間的距離
★ 數學方法計算圓週率
☆ 生成式generator
★ 函數與類別設計
☆ 設計與使用自己的模組、使用外部模組
★ 中文Windows預設cp950與國際通用utf-8格式的檔案讀寫
☆ 程式除錯與異常處理
★ 正則表達式
☆ 影像處理
★ Numpy
☆ CSV文件
★ 2D ~ 3D的Matplotlib中英文靜態與動態圖表繪製
☆ 網路爬蟲
★ 人工智慧破冰之旅
☆ 迴歸分析
★ 機器學習使用scikit-learn入門
☆ 使用ChatGPT語言模型設計「線上AI客服中心」和「Emoji翻譯機器人」
作者
洪錦魁
一位跨越電腦作業系統與科技時代的電腦專家,著作等身的作家。2023年12月獲選博客來10大華文作家,且是唯一電腦書籍作者獲選者。
★DOS時代:代表作品是「IBM PC組合語言、C、C++、Pascal、資料結構」。
☆Windows時代:代表作品是「Windows Programming使用C、Visual Basic」。
★Internet時代:代表作品是「網頁設計使用HTML」。
☆大數據時代:代表作品是「R語言邁向Big Data之路」。
★AI時代:代表作品是「機器學習Python實作」。
☆通用AI時代:國內第1本「ChatGPT、Bing Chat + Copilot」作品的作者。
作品曾被翻譯為簡體中文、馬來西亞文,英文,近年來作品則是在北京清華大學和台灣深智同步發行:
1:Python、C、Java、C#、R最強入門邁向頂尖高手之路王者歸來
2:OpenCV影像創意邁向AI視覺王者歸來
3:Python網路爬蟲:大數據擷取、清洗、儲存與分析王者歸來
4:演算法邏輯思維 + Python程式實作王者歸來
5:Python從2D到3D資料視覺化
6:網頁設計HTML+CSS+JavaScript+jQuery+Bootstrap+Google Maps王者歸來
7:機器學習基礎數學、微積分、真實數據、專題Python實作王者歸來
8:Excel完整學習、Excel函數庫、Excel VBA應用王者歸來
9:Python操作Excel最強入門邁向辦公室自動化之路王者歸來
10:Power BI最強入門 – AI視覺化+智慧決策+雲端分享王者歸來
他的多本著作皆曾登上天瓏、博客來、Momo電腦書類,不同時期暢銷排行榜第1名,他的著作特色是,所有程式語法或是功能解說會依特性分類,同時以實用的程式範例做說明,不賣弄學問,讓整本書淺顯易懂,讀者可以由他的著作事半功倍輕鬆掌握相關知識。
目錄
第1章 基本觀念
1-0 運算思維(Computational Thinking) ...............
1-1 認識Python .....................................................
1-2 Python 的起源 .................................................
1-3 Python 語言發展史 .........................................
1-4 Python 的應用範圍 .........................................
1-5 變數 - 靜態語言與動態語言 ............................
1-6 系統的安裝與執行 ..........................................
1-7 程式註解(comments) .....................................
1-8 Python 彩蛋(Easter Eggs) .............................
1-9 ChatGPT 輔助學習 .........................................
第2章 認識變數與基本數學運算
2-1 用Python 做計算 .............................................
2-2 認識變數(variable) .........................................
2-3 認識程式的意義 ...............................................
2-4 認識註解的意義 ...............................................
2-5 變數的命名原則 ...............................................
2-6 基本數學運算 ...................................................
2-7 指派運算子 .....................................................
2-8 Python 的多重指定(Multiple Assignment) .
2-9 Python 的列連接(Line Continuation) ..........
2-10 專題:複利計算/ 計算圓面積與圓周長 ......
2-11 ChatGPT 輔助學習 .........................................
第3章 Python 的基本資料型態
3-1 type( ) 函數 .......................................................
3-2 數值資料型態 ...................................................
3-3 布林值資料型態 ...............................................
3-4 字串資料型態 .................................................
3-5 字串與字元 .....................................................
3-6 專題:地球到月球時間計算/ 計算座標軸
2 點之間距離 ..................................................
3-7 ChatGPT 輔助學習 .........................................
第4章 基本輸入與輸出
4-1 Python 的輔助說明help( ) ..............................
4-2 格式化輸出資料使用print( ) ...........................
4-3 資料輸入input( ) ............................................
4-4 處理字串的數學運算eval( ) ..........................
4-5 列出所有內建函數dir( ) ................................
4-6 專題:溫度轉換/ 房貸問題/ 經緯度距離
/ 雞兔同籠 ......................................................
4-7 ChatGPT 輔助學習 .........................................
第5章 程式的流程控制
5-1 關係運算子 .......................................................
5-2 邏輯運算子 .......................................................
5-3 if 敘述 ................................................................
5-4 if ⋯ else 敘述 ...................................................
5-5 if ⋯ elif ⋯ else 敘述 ........................................
5-6 專題:BMI / 猜數字 / 方程式/ 火箭升空
/ 閏年 ................................................................
5-7 ChatGPT 輔助流程圖繪製與程式設計 ..........
第6章 串列(List)
6-1 認識串列(list) ..................................................
6-2 Python 物件導向觀念與方法 ........................
6-3 串列元素是字串的常用方法 .........................
6-4 增加與刪除串列元素 .....................................
6-5 串列的排序 .....................................................
6-6 進階串列操作 .................................................
6-7 串列內含串列 .................................................
6-8 串列的賦值與切片拷貝 .................................
6-9 再談字串 .........................................................
6-10 in 和not in 運算式 ......................................
6-11 enumerate 物件...........................................
6-12 專題:大型串列/ 認識凱薩密碼 ...............
6-13 ChatGPT 輔助學習 .......................................
第7章 迴圈設計
7-1 基本for 迴圈 ....................................................
7-2 range( ) 函數 .....................................................
7-3 進階的for 迴圈應用 ......................................
7-4 while 迴圈 .......................................................
7-5 enumerate 物件使用for 迴圈解析 ...............
7-6 專題:成績系統/ 圓周率/ 國王的麥粒
/ 電影院劃位 ..................................................
7-7 ChatGPT 輔助學習 .........................................
7-8 ChatGPT 輔助程式除錯(Debug) .................... 7-30
7-9 ChatGPT 重構程式 .......................................... 7-35
第8章 元組(Tuple)
8-1 元組的定義 .......................................................
8-2 讀取元組元素 ...................................................
8-3 遍歷所有元組元素 ...........................................
8-4 元組切片(tuple slices) .....................................
8-5 方法與函數 .......................................................
8-6 串列與元組資料互換 .......................................
8-7 其它常用的元組方法 .......................................
8-8 enumerate 物件使用在元組 ...........................
8-9 使用zip( ) 打包多個物件 .................................
8-10 製作大型的元組資料 ....................................
8-11 元組的功能 ....................................................
8-12 專題:認識元組/ 基礎統計應用 ...............
8-13 ChatGPT 輔助學習 .......................................
第9章 字典(Dict)
9-1 字典基本操作 ...................................................
9-2 遍歷字典 .........................................................
9-3 字典內鍵的值是串列 .....................................
9-4 字典內鍵的值是字典 .....................................
9-5 字典常用的函數和方法 .................................
9-6 製作大型的字典資料 .....................................
9-7 專題:文件分析/ 字典生成式/ 星座
/ 凱薩密碼 ......................................................
9-8 ChatGPT 輔助學習 .........................................
第10章 集合(Set)
10-1 建立集合 ......................................................
10-2 集合的操作 ..................................................
10-3 適用集合的方法 ........................................
10-4 適用集合的基本函數操作 ........................
10-5 專題:夏令營程式/ 程式效率
/ 集合生成式 / 雞尾酒實例....................
10-6 ChatGPT 輔助學習 .....................................
第11 章 函數設計
11-1 Python 函數基本觀念 .................................
11-2 函數的參數設計 ..........................................
11-3 函數傳回值 ..................................................
11-4 呼叫函數時參數是串列 ............................
11-5 傳遞任意數量的參數 ................................
11-6 遞迴式函數設計recursive ........................
11-7 區域變數與全域變數 ................................
11-8 匿名函數lambda.......................................
11-9 pass 與函數 ................................................
11-10 專題:單字出現次數/ 質數 .....................
11-11 ChatGPT 輔助學習 .....................................
第12章 類別– 物件導向的程式設計
12-1 類別的定義與使用 ......................................
12-2 類別的訪問權限 – 封裝(encapsulation)....
12-3 類別的繼承 ................................................
12-4 多型(polymorphism) ................................
12-5 多重繼承 ....................................................
12-6 type 與instance ........................................
12-7 專題:幾何資料的應用 ............................
12-8 ChatGPT 輔助學習 .....................................
第13章 設計與應用模組
13-1 將自建的函數儲存在模組中 ......................
13-2 應用自己建立的函數模組 ..........................
13-3 將自建的類別儲存在模組內 ......................
13-4 應用自己建立的類別模組 ..........................
13-5 隨機數random 模組 .................................
13-6 時間time 模組 ..........................................
13-7 系統sys 模組 .............................................
13-8 keyword 模組 .............................................
13-9 日期calendar 模組 ....................................
13-10 專題:蒙地卡羅模擬/ 文件加密 .............
13-11 ChatGPT 輔助學習 .....................................
第14章 檔案讀取與寫入
14-1 開啟檔案open( ) .........................................
14-2 讀取檔案 ......................................................
14-3 寫入檔案 ......................................................
14-4 讀取和寫入二進位檔案 ............................
14-5 認識編碼格式encoding ............................
14-6 ChatGPT 輔助學習 .....................................
第15章 程式除錯與異常處理
15-1 程式異常 ......................................................
15-2 設計多組異常處理程序 ..............................
15-3 丟出異常 - raise ..........................................
15-4 程式除錯的典故 ........................................
15-5 ChatGPT 輔助學習 .....................................
第16 章 正則表達式Regular Expression
16-1 使用Python 硬功夫搜尋文字 ....................
16-2 正則表達式的基礎 ......................................
16-3 更多搜尋比對模式 ......................................
16-4 貪婪與非貪婪搜尋 ....................................
16-5 正則表達式的特殊字元 ............................
16-6 MatchObject 物件 .....................................
16-7 專題:搶救CIA 情報員-sub( ) 方法 ........
16-8 ChatGPT 輔助學習 .....................................
第17章 用Python 處理影像檔案
17-1 認識Pillow 模組的RGBA ............................
17-2 Pillow 模組的盒子元組(Box tuple) ............
17-3 影像的基本操作 ..........................................
17-4 影像的編輯 ..................................................
17-5 裁切、複製與影像合成 ............................
17-6 影像濾鏡 ....................................................
17-7 在影像內繪製圖案 ....................................
17-8 在影像內填寫文字 ....................................
17-9 ChatGPT 輔助學習 .....................................
第18 章 詞雲設計
18-1 Python Shell 環境 - 安裝wordcloud ...........
18-2 我的第一個詞雲程式 ..................................
18-3 建立含中文字詞雲結果失敗 ......................
18-4 建立含中文字的詞雲 ..................................
18-5 進一步認識jieba 模組的分詞 ....................
18-6 建立含圖片背景的詞雲 ............................
18-7 ChatGPT 輔助學習 .....................................
第19章 使用Python 處理CSV 文件
19-1 建立一個CSV 文件 ......................................
19-2 用記事本開啟CSV 檔案 ..............................
19-3 csv 模組 ........................................................
19-4 讀取CSV 檔案 ..............................................
19-5 寫入CSV 檔案 ..............................................
19-6 Python 與Microsoft Excel .........................
19-7 ChatGPT 輔助學習 .....................................
第20 章 數據圖表的設計
20-1 認識matplotlib.ipynbplot 模組的主要
函數 ..............................................................
20-2 繪製簡單的折線圖plot( ) ...........................
20-3 繪製散點圖scatter( ) ................................
20-4 Numpy 模組基礎知識 ...............................
20-5 色彩映射color mapping ...........................
20-6 繪製多個圖表 ............................................
20-7 建立畫布與子圖表物件 ............................
20-8 長條圖的製作bar( ) ..................................
20-9 圓餅圖的製作pie( ) ...................................
20-10 設計2D 動畫 .............................................
20-11 專題:數學表達式/ 輸出文字
/ 圖表註解..................................................
20-12 ChatGPT 輔助學習 .....................................
第21章 網路爬蟲
21-1 下載網頁資訊使用requests 模組 ..............
21-2 檢視網頁原始檔 ..........................................
21-3 解析網頁使用BeautifulSoup 模組 ...........
21-4 網路爬蟲實戰 ...........................................
21-5 ChatGPT 輔助學習 .....................................
第22章 人工智慧破冰之旅
22-1 將畢氏定理應用在性向測試.........................
22-2 電影分類 ........................................................
第23章 迴歸分析基礎觀念
23-1 相關係數(Correlation Coefficient) .............
23-2 建立線性迴歸模型與數據預測 ..................
23-3 二次函數的迴歸模型 ..................................
23-4 ChatGPT 輔助學習 .......................................
第24章 機器學習使用scikit-learn 入門
24-1 網路購物數據調查 ......................................
24-2 使用scikit-learn 模組計算判定係數 ..........
24-3 預測未來值 ..................................................
24-4 人工智慧、機器學習、深度學習 ..............
24-5 認識scikit-learn 數據模組datasets ...........
24-6 監督學習 – 線性迴歸 ..................................
24-7 scikit-learn 產生數據 .................................
24-8 常見的監督學習分類器 ............................
24-9 無監督學習 – 群集分析 ............................
24-10 ChatGPT 輔助學習 .....................................
第25章 設計ChatGPT 線上AI 聊天室
25-1 ChatGPT 的API 類別 ...................................
25-2 取得API 密鑰 ...............................................
25-3 安裝openai 模組 .........................................
25-4 設計線上AI 客服與Emoji 機器人 .............
25-5 查核API keys 的費用...................................
附錄C 使用Google Colab 雲端開發環境
C-1 進入Google 雲端 .............................................
C-2 建立雲端資料夾 ...............................................
C-3 進入Google Colab 環境 ...................................
C-4 編寫程式 ...........................................................
C-5 更改檔案名稱 ...................................................
C-6 認識編輯區 .......................................................
C-7 新增加程式碼儲存格 .......................................
C-8 更多編輯功能 ...................................................
附錄D 指令、函數、方法與專有名詞索引
附錄A: 安裝與執行Python(電子書):9 頁
附錄B: 安裝Anaconda 與使用Spider 整合環境( 電子書):15 頁
附錄C: 使用Google Colab 雲端開發環境
附錄D: 指令、函數與專有名詞索引
附錄E: 安裝第三方模組( 電子書):5 頁
附錄F: RGB 色彩表( 電子書):5 頁
附錄G: Python 運算思維前20 章是非題與選擇題檔
案第3 版( 電子書):83 頁
附錄H: ASCII 碼值表( 電子書):1頁
序/導讀
序
相較於第3版,第4版新增與修訂下列內容:
• 增加ChatGPT 處理除錯(Debug)、程式註解、重構和重寫程式的應用。
• 更完整的解說機器學習知識的觀念。
• 用「gpt-4」語言模型設計「線上AI 客服中心」和「Emoji 翻譯機器人」。
• 程式實例提供「Google Colab 的ipynb 檔案」與「一般的py 檔案」兩種版本。
• 小細節修訂約50 處
這是一本用ChatGPT 輔助學習Python 的著作,Python 語法非常活,筆者嘗試將Python 語法,用完整程式實例解說,方便學生未來可以靈活使用Python。全書共有約700 個一般實例與程式實例,同時使用ChatGPT 輔助學習,講解了下列知識:
• 科技與人工智慧知識融入內容
• 完整Python 語法
• 串列、元組、字典、集合
• 經緯度計算城市間的距離
• 數學方法計算圓週率
•生成式generator
• 函數與類別設計
• 設計與使用自己的模組、使用外部模組
• 中文Windows 預設cp950 與國際通用utf-8 格式的檔案讀寫
• 程式除錯與異常處理
• 正則表達式
• 影像處理
• Numpy
• CSV 文件
• Matplotlib 中英文靜態與動態圖表繪製
• 網路爬蟲
• 人工智慧破冰之旅
• 迴歸分析
• 機器學習使用scikit-learn 入門
• 使用ChatGPT 語言模型設計「線上AI 客服中心」和「Emoji 翻譯機器人」
寫過許多的電腦書著作,本書沿襲筆者著作的特色,程式實例豐富,相信讀者只要遵循本書內容必定可以在最短時間精通Python 設計,編著本書雖力求完美,但是學經歷不足,謬誤難免,尚祈讀者不吝指正。
洪錦魁
jiinkwei@me.com