超圖解Python程式設計:從入門、網頁應用、YOLO到生成式AI實作

超圖解Python程式設計

作者:趙英傑
出版社:旗標科技股份有限公司
出版日期:2025年10月22日
頁數:736頁(索引PDF檔、電子書不計入頁數),雙色印刷。
定價:NT$799

《超圖解Python程式設計入門》第一版的介紹與討論,請參閱這篇貼文

補充文件

本書特色

  • 快速入門瞭解基礎語法
  • 從實戰範例應用邊做邊學
  • 實作檔案備份工具、YouTube影片下載工具、網路爬蟲、資料庫與留言板、影像辨識、物體偵測、肢體動作、RAG應用、LINE聊天機器人
  • 涵蓋Flask與Streamlit網頁應用框架、OpenCV程式庫、YOLO模型、LangChain框架等延伸套件
  • 搭配Ollama設計本地端LLM應用

Python是Guido Van Rossum(吉多‧范羅蘇姆)在90年代初期設計出的程式語言,如今是最常用的程式設計語言之一,更是AI人工智慧應用開發的首選,舉凡Google、微軟、Amazon、Meta、Tesla(特斯拉)、OpenAI、NASA等大型企業和組織也青睞採用Python開發各種工具。Python的語法簡潔易讀,是少數既適合程式初學入門,且廣泛用於大數據處理∕AI等高階科學計算應用,也能在拇指大小的微電腦控制板運作的全領域、通用型程式語言,功能超乎想像地強大。

本書以圖解、實作為出發點,除了第2章的Python程式開發與AI輔助工具說明,每個章節都有實例與詳細圖解,帶領讀者學習Python程式設計以及相關領域的背景知識,例如:

  • 網路爬蟲:自動擷取∕收集網路資訊並存入Google試算表
  • 建立留言板資料庫網站,並將網站部署到雲端空間。
  • 影像處理與AI物件偵測:偵測人臉、分析肢體動作、檢測並計算影像中的特定物件的數量、辨識車牌號碼並自動修正辨識錯誤、追蹤物件移動軌跡 / 計算車流量。

YOLO姿態偵測

  • 使用Google提供的免費運算平台(Colab)訓練影像偵測模型,也就是教會電腦辨識與偵測影像中的特定物件。

    車牌辨識

  • 在本機電腦離線執行大型語言模型(LLM),也就是建立如ChatGPT般的聊天機器人,以及可根據我們提供的補充知識(如:公司的產品資料或規範)回答問題的客服機器人。

大語言模型LLM

在許多實作應用的場合,光是了解程式語法是不夠的,像建構網路應用程式,還需要具備網路、防火牆、資料庫系統、租用並在雲端空間部署應用程式…等,還有AI影像偵測及大型語言模型應用背後的類神經網路 / 深度學習、模式辨認、評估指標、量化、詞嵌入向量…等概念,本書也針對這些基礎做了全方位的說明。

混淆矩陣 confusion matrix

某些Python入門書籍沒有觸及的部分,例如:物件導向程式設計,因為很重要,所以筆者也用幾個淺顯實用的案例圖解說明。

OOP

感謝旗標科技的黃昕暐先生,提供本書諸多專業建議,例如,調整內文編寫的順序、專有名詞翻譯以及建議使用的程式模組,並逐一測試每個範例程式,還有糾正內容與程式的錯誤、添加文字讓文章更通順、晚上和假日加班改稿…由衷感謝昕暐先生對本書的貢獻。筆者也依照這些想法和指正,逐一調整解說方式,讓圖文內容更清楚易懂。也謝謝台灣樹莓派(Raspberry Pi)的Sosorry先生,以及Orange Pi(香橙派)的Nova小姐和Steve先生,提供相關硬體設備。

《超圖解Python程式設計》章節大綱

第1章 認識Python程式語言

  • 認識程式語言
  • 使用Google Colab免費雲端服務開始編寫Python

    Google Colab

  • Python基本語法:資料型態、變數、函式與程式庫

    Python基礎

  • 編寫Markdown格式文件

    Markdown表格

第2章 在本機電腦安裝Python以及VS Code程式開發工具

  • 在本機電腦安裝與設定Python程式的執行環境
  • 安裝與設定VS Code程式開發工具

第3章 條件判斷程式

  • 處理字串資料格式

    處理字串資料

  • 改變程式運作流程的條件判斷敘述

第4章 列表、迴圈與自訂函式

  • 使用列表類型變數把相關數值儲存在一起
  • 透過迴圈反覆執行一段程式碼
  • 用函式建立自創指令
  • 操作列表資料

while迴圈

第5章 操作資料夾與文件:同步備份檔案

  • 使用os程式庫瀏覽檔案資料夾、新增資料夾和新增檔案
  • 使用shutil程式庫查詢磁碟容量及複製檔案
  • 使用argparse套件處理命令參數
  • 處理時間資料與比較檔案修改日期
  • 在Windows, macOS和Linux系統平台直接執行Python程式
  • 「可變」與「不可變」的資料類型和Tuple(元組)

建立資料夾

第6章 安裝程式套件、Python虛擬環境以及下載YouTube影片

  • 安裝Python程式套件
  • 設置Python虛擬環境
  • 在VS Code編輯器中啟動Python虛擬環境
  • YouTube影音的Codec與下載視訊
  • 使用try…except捕捉例外狀況
  • 編寫YouTube影片下載程式

try...except處理

第7章 集合(set)、匿名函式與執行外部程序

  • 認識集合(set)與雜湊(hash)
  • lamba匿名函式
  • 執行外部程式的subprocess模組
  • 轉換與合併影音的ffmpeg程式

列表排序

第8章 自動收集網路資訊的網路爬蟲

  • 認識構成網頁的HTML和CSS基礎語法以及網頁結構
  • 透過Selenium操控瀏覽器、擷取網頁內容、輸入表單欄位文字並提交表單。
  • 使用XPath的相對路徑和絕對路徑語法選定HTML元素與HTML標籤屬性
  • 認識查詢字串、處理URL編碼。
  • 運用字典(dict)儲存結構化資料

網頁版面

第9章 儲存檔案:純文字檔、CSV檔與Google試算表

  • 讀寫純文字檔案以及CSV格式檔案
  • 認識與使用OAuth開放授權標準存取Google雲端試算表

設置CSV中文標題

第10章 建立自訂類別

  • 認識集結功能(方法)和資料(屬性)的程式模組:自訂類別。
  • 了解類別物件的方法與屬性的存取權限
  • 認識與處理常見的資料交換格式:XML、JSON和Pickle。

第11章 使用Flask建置網站服務

  • 認識網站伺服器和前端應用程式之間的HTTP通訊協定
  • 使用Flask開發動態網站應用程式
  • 認識與設定網站伺服器的IP位址和埠號
  • 透過樣板引擎動態合成網頁
  • 建立表單與處理網頁表單資料

Flask伺服器

第12章 佈署網站到雲端空間

  • 透過代理伺服器讓外界存取在本機電腦運作的Python Flask網站
  • 佈署Flask網站程式到免費的雲端平台
  • 在Windows, macOS以及Linux系統的電腦上定時執行Python程式

存取Google試算表

第13章 多執行緒下載檔案以及規則表達式

  • 使用HTTP前端通訊程式庫requests,取得網站資源與下載檔案。
  • 使用lxml程式庫解析HTML,取出網頁中的資源位址。
  • 認識描述檔案類型的MIME,並透過MIME篩選下載資源。
  • 使用規則表達式(regular expression)從字串資料中驗證與篩選出特定文∕數字資料
  • 搭配Selenium瀏覽與下載由JavaScript產生的動態內容
  • 認識執行緒,採用多執行緒同時下載多個檔案。
  • 使用match…case判斷匹配條件

規則表達式(regular expression)

第14章留言板網站應用程式

  • 認識資料庫、採用SQLAlchemy程式庫連結與操作資料庫。
  • 練習資料庫的基本操作:建立、讀取、更新和刪除。
  • 建立留言板網頁與管理介面,讓管理人員在後台編輯與刪除留言。
  • 產生與驗證密碼雜湊值,以防有心人士竊取密碼。
  • 自訂Flask樣板過濾器(filter),轉換與格式化UTC(世界協調時)時間。
  • 使用Cookie和Session幫助網站伺服器記住資料處理狀態
  • 使用pathlib程式庫存取資料夾

資料庫綱要 schema

第15章 影像處理、人臉偵測與辨識

  • Python的基本影像處理與NumPy程式庫
  • 使用OpenCV處理即時影像資料

    OpenCV語法

  • 使用「哈爾特徵分類器」偵測人臉

    偵測臉部

  • 使用深度學習偵測物件

    類神經網路

第16章 使用YOLO偵測物件

  • 認識AI影像資料庫與Roboflow網站
  • 認識高性能偵測影像物件的YOLO
  • 使用YOLO進行視覺物件偵測

    YOLO偵測物件

  • 顯示偵測物件的中文名稱與置信度
  • 計算偵測目標的數量
  • 追蹤物件的移動軌跡

    計算往來汽車數量

  • 評估影像辨識模型好壞的幾個指標
  • 偵測肢體動作

第17章 遷移訓練YOLO影像偵測模型

  • 訓練影像偵測模型:以偵測車牌為例
  • 在Google Colab雲端訓練客製化YOLO模型

    YOLO雲端訓練成果

  • 將訓練和驗證的結果存入Google雲端硬碟
  • 使用OCR文字辨識軟體讀取車牌號碼
  • 建立可修正車牌辨識錯誤的程式

    OCR辨識車牌

第18章 本地大語言模型:Ollama和LangChain

  • 大語言模型(LLM)基本概念
  • 在本機執行大語言模型

    Ollama

  • 具備視覺能力的「多模態」模型
  • 認識LangChain

    LangChain

  • 建立提示詞模板
  • 使用LCEL語法簡化提問敘述

    LCEL表達式

  • 建立訊息型提示詞
  • 串流輸出語言模型的回應

第19章 使用Streamlit快速開發網頁應用程式

  • Streamlit開發入門
  • Streamlit的關鍵UI元件

    Streamlit UI元件

  • 下拉式選單與列表生成式
  • 連續對話型聊天機器人

    連續對話型聊天機器人

第20章 檢索增強生成(RAG)應用

  • 認識檢索增強生成(RAG)
  • 詞嵌入與向量式搜尋
  • RAG系統的「資料準備與檢索」流程
  • 使用向量資料庫儲存詞向量

    詞向量資料庫

  • 查詢向量資料庫
  • 分割文件讓大語言模型容易吸收

第21章 打造LINE客服聊天機器人

  • 開發LINE bot聊天機器人程式
  • 接收與解析LINE的訊息
  • 結合Ollama的客服LINE聊天機器人
  • 產生LINE的對話方塊、按鈕樣板與圖文選單。
  • 使用LINE專屬通訊協定讀取本機的GPS位置
  • 製作LINE線上報修聊天機器人,將報修資料存入Google試算表。
  • Line聊天機器人

Posts created 529

8 thoughts on “超圖解Python程式設計:從入門、網頁應用、YOLO到生成式AI實作

  1. 恭喜今天新書出版,多年前有老師也有出版過一本《超圖解Python程式設計入門》,這本新書算是改版(第二版)嗎?兩者之間是否有比較主要的差異。謝謝

    1. 是的,本書相當於《超圖解Python程式設計入門》第二版,由於內容改寫、新增部分超過第一版的一半以上,因此調整書名。主要的差異如下:

      根據新版Python與程式庫語法改寫,我也已經更新第一版的範例程式,請參閱這一篇貼文

      新增AI人工智慧、LLM大語言模型(使用Ollama和LangChain)、RAG(檢索增強生成)、Streamlit介面以及YOLO影像視覺偵測等應用範例。以處理即時影像資料的OpenCV為例,第一版佔8頁篇幅,新書則用28頁介紹其常用函式,以及OpenCV於人臉偵測和深度學習方面的應用。

      第一版的人臉辨識應用,需搭配dlib工具程式,非直接使用OpenCV,因此這10頁左右的篇幅以電子書的形式附贈。

      因應AI程式開發的需要,新增Google Colab實驗筆記程式開發環境、Markdown語法和YAML配置文件等說明。

      刪除索引(改成PDF檔)以及操控硬體(微電腦控制板)相關內容,總計46頁,因為新增篇幅超乎預期,跟編輯討論過後,決定聚焦在「軟體」開發,讀者僅需具備個人電腦即可學習和實作。微電腦控制板整合應用的相關電子、硬體、控制方程式的背景知識和實作,留待後續的專門書籍討論。

      謝謝您!

  2. 趙老師您好,這一本書第4-15頁的qa_2.py的範例檔在哪裡?我下載範例檔裡面沒有這個檔案,我有漏掉什麼嗎?

  3. 今天剛入手感覺內容很充實,與此同時另外兩本AI 的書疊加起來厚度跟您的python打平😃。真的很少有作者一直能更新並加入新的東西與時俱進,網頁資訊也會提醒讀者更新。喜歡實作課程,在除錯中學到不少東西。期待老師可以考慮撰寫Arduino Uno Q 謝謝您。

    1. 非常感謝您的支持!我應該會買一片Arduino UNO Q試試,以原廠Arduino Mega 2560 R3定價美金$49.90來說,Arduino UNO Q 2GB(16GB eMMC)定價$44元,並不貴,但我手邊已經有幾片樹莓派、香橙派和其他較不知名的ARM開發板,所以暫不考慮Arduino UNO Q。

      另外,我覺得“Arduino UNO Q”這個命名有點怪。

      Arduino原廠有不同系列產品,像MEGA / GIGA, MKR, Portenta, Opta…等。我認為Arduino UNO Q不該沿用“UNO”系列名稱,因為“UNO Q”是單板電腦(SBC,Single Board Computer),而“UNO R3 / R4”是微電腦控制板(Microcontroller board),兩者的應用場域、效能、功耗…等,截然不同,以“UNO Q”命名會讓人以為它是UNO R4的下一代開發板。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top