張宗彥 PYTHON 4書
張宗彥 PYTHON 4書
原始GITHUB: https://github.com/oxxostudio/book-code
GITHUB: https://github.com/jash-git/oxxostudio_book-code
一本精通 – Python 範例應用大全:Python 詳細語法教學 & 100+ 個 Python 範例 DM2350
資料來源: https://deepwisdom.com.tw/product/%e4%b8%80%e6%9c%ac%e7%b2%be%e9%80%9a-python-%e7%af%84%e4%be%8b%e6%87%89%e7%94%a8%e5%a4%a7%e5%85%a8%ef%bc%9apython-%e8%a9%b3%e7%b4%b0%e8%aa%9e%e6%b3%95%e6%95%99%e5%ad%b8-100-%e5%80%8b-python/
描述
內容簡介
●Python 詳細語法教學
●17 個 Python 常用函式庫
●50 個 Python 必學與生活應用範例
●30 個 Python 影音處理範例
●16 個 Python 網頁爬蟲範例
●15 個 Python 網頁應用範例
●串接 Gmail、Google 試算表、EXCEL
●串接 ChatGPT、Dialoglow、Firbase 資料庫
Python 是目前世界上最流行的程式語言之一,也是相當容易入門且功能強大的程式語言。它除了可以透過簡單邏輯進行程式設計,更具備有高效能的資料結構處理能力。Python 簡單易懂的程式語法,結合由 C 語言建構的特性,使得 Python 能跨平台開發,也幾乎能在所有作業系統中運作。
如果是 Python 初學者,可以從本書的第一章開始,循序漸進的認識語法結構、變數、邏輯、迴圈和各個型別的規範,並學會近二十個常用的標準函式庫。如果已經是 Python 的開發者,更可以直接從後半部的範例開始閱讀,透過各式範例的練習,熟悉各種 Python 的實際應用。
本書包含了 100 個以上的範例,內容涵蓋基礎應用、數學應用、生活應用、影音處理應用、網路爬蟲與網路服務應用,不僅適合自我學習,更能徹底發揮 Python 的優勢,替生活中創造更多的便利與想像。
作者
OXXO ( 張宗彥 )
● 高師大附中、中央大學物理系畢業
● 台灣藝術大學多媒體動畫藝術碩士
● Webduino 共同創辦人 ( 2015-2020 )
● STEAM 教育學習網創辦人 ( https://steam.oxxostudio.tw )
● OXXO.STUDIO 部落格作者 ( https://www.oxxostudio.tw )
目錄
目錄
Chapter 01、認識 Python
1-1、Python 發展史
1-2、Python 特色
1-3、Python 應用領域
1-4、Python 基本範例
Chapter 02、Python 開發環境
2-1、使用 Google Colab
2-2、使用 Anaconda Jupyter
2-3、使用 Python 虛擬環境
Chapter 03、Python 基礎語法
3-1、變數 variable
3-2、內建函式 ( print 和 input )
3-3、縮排和註解
3-4、邏輯判斷 ( if、elif、else )
3-5、邏輯判斷 ( and 和 or )
3-6、重複迴圈 ( for、while )
Chapter 04、Python 數學運算
4-1、數字 number
4-2、運算子 operator
4-3、內建函式 ( 數學計算 )
Chapter 05、Python 文字操作
5-1、文字與字串 string
5-2、文字與字串 ( 常用方法 )
5-3、文字與字串 ( 格式化 )
5-4、內建函式 ( 字串操作與轉換 )
Chapter 06、Python 串列、元組、字典、集合
6-1、串列 list ( 基本 )
6-2、串列 ( 常用方法 )
6-3、元組 ( 數組 ) tuple
6-4、字典 dictionary
6-5、集合 set
6-6、內建函式 ( 迭代物件轉換 )
6-7、內建函式 ( 迭代物件操作 )
6-8、生成式 ( 串列、字典、集合、元組 )
Chapter 07、Python 常用語法
7-1、例外處理 ( try、except )
7-2、類別 class
7-3、繼承 inheritance
7-4、eval 和 exec
7-5、檔案讀寫 open
7-6、匯入模組 import
Chapter 08、Python 函式操作
8-1、函式 function
8-2、匿名函式 lambda
8-3、遞迴 recursion
8-4、產生器 generator
8-5、裝飾器 decorator
8-6、閉包 ( Closure )
Chapter 09、Python 常用標準函式庫
9-1、隨機數 random
9-2、數學 math
9-3、數學統計函式 statistics
9-4、日期和時間 datetime
9-5、時間處理 time
9-6、日曆 calendar
9-7、CSV 檔案操作
9-8、JSON 檔案操作
9-9、使用正規表達式 re
9-10、檔案操作 os
9-11、查找匹配檔案 glob
9-12、壓縮檔案 zipfile
9-13、高階檔案操作 shutil
9-14、高效迭代器 itertools
9-15、容器資料型態 collections
9-16、threading 多執行緒處理
9-17、concurrent.futures 平行任務處理
Chapter 10、Python 基礎範例
10-1、電費試算
10-2、攝氏/華氏轉換
10-3、公分/英吋換算
10-4、判斷平年與閏年
10-5、找出不重複字元
10-6、找出中間的字元
10-7、去除中英文夾雜的空白
10-8、大樂透電腦選號
10-9、下載進度條
10-10、星號金字塔
10-11、數字金字塔
10-12、猜數字 ( 猜大猜小 )
10-13、猜數字 ( 幾 A 幾 B )
10-14、簡單時鐘 ( 世界時間 )
10-15、計算 BMI 數值
10-16、計算年紀 ( 幾歲幾個月幾天 )
10-17、產生身分證字號 ( 隨機 )
10-18、檢查身分證字號
10-19、統一發票對獎
10-20、羅馬數字轉換
Chapter 11、Python 數學範例
11-1、兩個數字的四則運算
11-2、計算多個數字的總和
11-3、費波那契數列 ( 費氏數列 )
11-4、九九乘法表
11-5、質因數分解
11-6、快速找出質數
11-7、最小公倍數 ( 多個數字 )
11-8、最大公因數 ( 多個數字 )
Chapter 12、Python 實際應用
12-1、定時自動螢幕截圖
12-2、定LINE Notify 傳送螢幕截圖
12-3、批次重新命名檔案
12-4、讀取 PDF 內容
12-5、PDF 拆分、合併、插入、刪除、反轉
12-6、讀取 EXCEL 內容
12-7、寫入資料到 EXCEL
12-8、CSV 寫入 EXCEL
12-9、產生 QRCode ( 個性化 QRCode )
12-10、產生 BarCode ( 條碼 )
12-11、讀取電腦資訊 ( 硬碟容量、CPU、RAM…等 )
12-12、偵測電腦螢幕解析度 ( 長、寬 )
12-13、查詢電腦對內與對外 IP
12-14、查詢網站 IP、ping IP
Chapter 13、Python 影像處理
13-1、批次圖片轉檔 ( jpg、png、gif、pdf…等 )
13-2、批次調整圖片尺寸
13-3、調整圖片亮度、對比、飽和度和銳利度
13-4、裁切與旋轉圖片
13-5、拼接多張圖片
13-6、圖片加上 logo 浮水印
13-7、圖片加上文字浮水印
13-8、圖片馬賽克效果
13-9、圖片模糊化
13-10、圖片銳利化
13-11、讀取與修改圖片 Exif
13-12、圖片轉文字 ( OCR 圖片字元辨識 )
Chapter 14、Python 聲音處理
14-1、讀取聲音資訊、輸出聲音
14-2、聲音剪輯與串接
14-3、聲音音量調整、淡入淡出
14-4、聲音的混合與反轉
14-5、改變聲音速度
14-6、播放聲音
14-7、麥克風錄音
14-8、顯示聲波圖形
14-9、合成音符聲音
Chapter 15、Python 影片處理
15-1、影片轉檔 ( mp4、mov、wmv、avi…等 )
15-2、取出影片聲音、影片加入聲音
15-3、影片剪輯與合併
15-4、影片混合與排列顯示
15-5、改變影片尺寸、旋轉翻轉影片
15-6、調整影片速度、倒轉影片
15-7、調整影片亮度、對比、顏色
15-8、影片轉換為 git 動畫
15-9、影片中加入文字
15-10、影片自動加上字幕
15-11、影片截圖、圖片轉影片
Chapter 16、Python 網路爬蟲
16-1、關於網路爬蟲
16-2、破解反爬蟲的方法
16-3、Requests 函式庫
16-4、Beautiful Soup 函式庫
16-5、Selenium 函式庫
16-6、爬取 PTT 八卦版文章標題
16-7、爬取並自動下載 PTT 正妹圖片
16-8、爬取後同時下載多張圖片
16-9、爬取空氣品質指標 ( AQI )
16-10、爬取天氣預報
16-11、爬取現在天氣
16-12、爬取臺灣銀行牌告匯率
16-13、爬取統一發票號碼對獎
16-14、爬取 Yahoo 股市即時股價
16-15、爬取 LINE TODAY 留言
16-16、Twitter 自動上傳圖文
Chapter 17、Python 網頁服務與應用
17-1、Flask 函式庫
17-2、使用 ngrok 服務
17-3、使用 Google Cloud Functions
17-4、串接 Gmail 寄送電子郵件
17-5、讀取 Google 試算表
17-6、寫入 Google 試算表
17-7、下載 Youtube 影片 ( mp4、mp3、字幕 )
17-8、下載 Youtube 清單中所有影片
17-9、發送 LINE Notify 通知
17-10、使用 Dialogflow 打造聊天機器人
17-11、Dialogflow 串接 Webhook
17-12、伺服器串接 Dialogflow
17-13、串接 Firebase RealTime Database 存取資料
17-14、使用 OpenAI ChatGPT
17-15、ChatGPT 串接 Firebase,實現上下文歷史紀錄
序
前 言
在這個資訊爆炸、AI 盛行的時代,Python 的重要性日益突顯。Python 是一種高階、直譯、通用型的程式語言,具備了簡潔明瞭的語法和強大的函式庫,並且可以應用在多個領域,不論是資料分析、機器學習、人工智慧、網路爬蟲、網頁開發、影音處理等應用,隨處可見 Python 的身影。
我花了大約一年的時間撰寫這本 Python 書籍,在過程中,我不斷思考要如何才能讓大家深入的了解 Python,並且可以從中獲得實用的知識。因此書中不僅會介紹 Python 的基本語法,更會著重在範例應用上 ( 超過 100 個範例 ),藉此讓大家可以更加深入地了解 Python 的應用場景。
書籍的前半部主要介紹 Python 的基礎語法以及近二十個常用的標準函式庫,後半部分則會使用 Python 製作大量的應用,例如影音處理、網頁爬蟲、網頁應用等等,這些範例不僅可以幫助大家學會如何使用 Python,並進一步解決生活中的問題 ( 不然學了 Python 要做什麼呢 )。最後一章更會介紹如何串接一些常用且熱門的 API,包括 ChatGPT、Gmail、Google 試算表、EXCEL、Dialoglow、Firbase 資料庫,只要學會 Python,就能輕鬆將這些 API 運用到自己的實際項目中。
感謝所有在我寫作過程中給予支持和鼓勵的人,包括我的家人、朋友和出版社,我在撰寫這本書的過程中,其實遇到不少挑戰和困難,除了要徹底了解 Python 的各種特性,更需要將這些複雜的概念和知識講解清楚,才能讓大家容易理解和掌握,因此我相信,這本書將會是學習 Python 的絕佳教材,不論是初學者還是有一定基礎的讀者,都能夠從中獲得知識和收穫,希望這本書能夠對大家在未來的學習和工作中,提供一些幫助和啟發。
一本精通 – OpenCV 與 AI 影像辨識DM2334
資料來源: https://deepwisdom.com.tw/product/%e4%b8%80%e6%9c%ac%e7%b2%be%e9%80%9a-opencv-%e8%88%87-ai-%e5%bd%b1%e5%83%8f%e8%be%a8%e8%ad%98dm2334/
描述
內容簡介
★☆★ AI 影像辨識一本精通! ★☆★
★☆★ 超過 200 個完整範例程式碼 ★☆★
AI 影像辨識是近年來非常夯的議題,隨著資訊科技的蓬勃發展,越來越多好用的工具推陳出新,也越來越容易跨入 AI 影像辨識領域,不論是電子、資訊領域、醫療、百貨,各行各業中陸續都能看到 AI 影像辨識的應用。
Python 是目前入門 AI 影像辨識最快速的程式語言,透過 Python 的 OpenCV 函式庫,並搭配其他方便的函式庫,就能輕鬆入門 AI 影像辨識,OpenCV 除了能針對影像進行全面的處理,也是大多數 AI 影像辨識的敲門磚,常應用於擴增實境、臉部辨識、手勢辨識、動作辨識、運動跟蹤、物體辨識或圖像分割…等領域。
本書會從 OpenCV 出發,從 OpenCV 最基本的存取圖片影片,影像色彩、影像剪裁、影像變形、加入文字、繪圖、影像效果進階處理都有完整介紹,並會介紹 OpenCV 內建的影像辨識方法、Google MediaPipe 的影像辨識方法和 Teachable Machine 影像辨識方法進行 AI 影像辨識,作出許多有趣又實用的影像辨識相關應用。
【精彩收錄】
▶ OpenCV 深入介紹
▶ OpenCV 影像色彩調整和轉換
▶ OpenCV 影像剪裁、變形、加入文字和繪圖
▶ OpenCV 影像效果進階處理
▶ OpenCV 偵測滑鼠和鍵盤
▶ OpenCV 人臉、物件、顏色等影像辨識
▶ MediaPipe 人臉、姿勢、手勢等影像辨識
▶ Teachable Machine 人臉、戴口罩等影像辨識
▶ 辨識手寫數字、年齡、情緒
作者簡介
OXXO ( 張宗彥 )
● 高師大附中、中央大學物理系畢業
● 台灣藝術大學多媒體動畫藝術碩士
● Webduino 共同創辦人 ( 2015-2020 )
● STEAM 教育學習網創辦人 ( https://steam.oxxostudio.tw )
● OXXO.STUDIO 部落格作者 ( https://www.oxxostudio.tw )
目錄
Chapter 01 認識AI 影像辨識
1-1 AI 影像辨識的發展歷史 1-3
1-2 AI 影像辨識技術發展現況 1-4
1-3 AI 影像辨識服務和工具 1-5
1-4 AI 影像辨識的未來發展 1-6
Chapter 02 認識OpenCV
2-1 OpenCV 是什麼 2-3
2-1 安裝 OpenCV 2-3
2-1 測試 OpenCV 2-4
Chapter 03 OpenCV 存取圖片和影片
3-1 開啟並顯示圖片 3-3
3-2 寫入並儲存圖片 3-6
3-3 讀取並播放影片 3-8
3-4 寫入並儲存影片 3-11
3-5 取得影像資訊 3-16
Chapter 04 OpenCV 的影像色彩
4-1 影像的色彩轉換 4-3
4-2 影像的負片效果 4-7
4-3 調整影像的對比和亮度 4-10
4-4 二值化黑白影像 4-13
4-5 影像的疊加與相減 4-20
4-6 線性漸層填色 4-24
4-7 將指定的顏色變透明 4-27
4-8 魔術棒填充顏色 4-31
Chapter 05 OpenCV 影像的剪裁、變形、文字、繪圖
5-1 影像的旋轉、翻轉和改變尺寸 5-3
5-2 影像的幾何變形 5-7
5-3 剪裁影像 5-11
5-4 繪製各種形狀 5-13
5-5 影像加入文字 5-22
Chapter 06 OpenCV 影像效果
6-1 影像的色彩轉換 6-3
6-2 影像的負片效果 6-8
6-3 調整影像的對比和亮度 6-11
6-4 二值化黑白影像 6-13
6-5 影像的疊加與相減 6-16
6-6 線性漸層填色 6-19
6-7 將指定的顏色變透明 6-24
6-8 魔術棒填充顏色 6-27
Chapter 07 OpenCV 影像進階處理
7-1 影像邊緣偵測 7-3
7-2 影像的侵蝕與膨脹 7-7
7-3 影像遮罩 7-9
7-4 邊緣羽化效果 ( 邊緣模糊化 ) 7-19
7-5 合成半透明圖 7-21
7-6 處理 gif 動畫 7-24
7-7 影片轉透明背景 gif 動畫 7-30
7-8 辨識 QRCode 和 BarCode 7-34
7-9 掃描 QRCode 切換效果 7-44
Chapter 08 OpenCV 偵測滑鼠和鍵盤
8-1 偵測滑鼠事件 8-3
8-2 滑鼠選取區域自動馬賽克 8-7
8-3 在影片中即時繪圖 8-11
8-4 偵測鍵盤行為 8-15
8-5 加入滑桿 ( Trackbar ) 8-19
Chapter 09 OpenCV 影像辨識
9-1 人臉偵測 9-3
9-2 偵測人臉,自動加馬賽克 9-7
9-3 五官偵測 ( 眼睛、鼻子、嘴巴 ) 9-10
9-4 汽車偵測 9-13
9-5 行人偵測 9-15
9-6 辨識不同人臉 9-16
9-7 單物件追蹤 9-21
9-8 多物件追蹤 9-25
9-9 抓取影像的特定顏色 9-29
9-10 追蹤並標記特定顏色 9-31
Chapter 10 MediaPipe 影像辨識
10-1 使用 MediaPipe ( 安裝與啟動 ) 10-3
10-2 人臉偵測 ( Face Detection ) 10-8
10-3 人臉網格 ( Face Mesh ) 10-12
10-4 手掌偵測 ( hands ) 10-17
10-5 姿勢偵測 ( Pose ) 10-22
10-6 全身偵測 ( Holistic ) 10-26
10-7 物體偵測 ( Objectron ) 10-28
10-8 人物去背 (Selfie Segmentation) 10-31
10-9 手勢辨識 10-33
10-10 辨識比中指,自動馬賽克 10-38
10-11 辨識手指,用手指在影片中畫圖 10-43
10-12 辨識手指,做出手指擦除鏡子霧氣的效果 10-48
10-13 Mediapipe 即時合成搞笑橘子臉 10-56
Chapter 11 Teachable Machine 影像辨識
11-1 Jupyter 安裝 Tensorflow 11-3
11-2 使用 Teachable Machine 11-9
11-3 辨識剪刀、石頭、布 11-16
11-4 辨識是否戴口罩 11-22
Chapter 12 其他影像辨識範例
12-1 辨識手寫數字 12-3
12-2 情緒辨識與年齡偵測 12-8
12-3 辨識微笑,拍照儲存 12-16
附錄 、其他參考資訊
影像的色彩轉換 A-2
影像的負片效果 A-3
調整影像的對比和亮度 A-3
序
AI影像辨識是當今非常熱門的技術,也是未來技術發展中非常重要的一個領域,隨著數據量的增加和電腦計算能力的提高,AI影像辨識技術也不斷的發展和改進,也應用在越來越多的不同領域場景。AI影像辨識技術的出現,已經在人類社會的生產和生活中發揮了重要的作用,也帶來無限可能的未來科技發展。
本書首先介紹 AI 影像辨識,讓讀者們能夠了解 AI 影像辨識技術的基本概念和發展過程。接下來,將深入介紹 OpenCV 在影像辨識中的應用,包括影像色彩調整和轉換、影像剪裁、變形、加入文字和繪圖、影像效果進階處理、偵測滑鼠和鍵盤…等,熟悉了 OpenCV 之後,就會開始進行 OpenCV 在人臉、物件、顏色等影像辨識方面的應用,以及如何透過 MediaPipe 和 Teachable Machine 進行人臉、姿勢、手勢等影像辨識。
本書主要關注於 OpenCV 與 AI 影像辨識技術,隨著 AI 影像辨識技術的進展,不僅對工業領域有所助益,同時也在醫療、農業、交通、安全等各個領域發揮著重要作用。人類對 AI 影像辨識技術的需求越來越大,需要更多專業人才來滿足這個需求。本書希望能夠成為初學者、進階者以及專業人士的參考書籍,並通過各種實例和應用案例來幫助讀者深入理解這些概念和技術。
最後,希望本書能夠透過具體的實例、大量的完整範例程式碼和簡潔易懂的文字,幫助大家深入理解影像辨識技術的原理和應用,從中學習到有用的技能和知識,在實際應用中獲得成功,迅速上手開發自己的應用。感謝所有在我寫作過程中給予支持和鼓勵的人,包括我的家人、朋友和出版社,祝福大家在學習和實踐中取得更好的成果,並且在未來的技術道路上一路順風。
一本精通 – PyQt5 & PyQt6 軟體介面開發 DM2345
資料來源: https://deepwisdom.com.tw/product/%e4%b8%80%e6%9c%ac%e7%b2%be%e9%80%9a-pyqt5-pyqt6-%e8%bb%9f%e9%ab%94%e4%bb%8b%e9%9d%a2%e9%96%8b%e7%99%bc-dm2345/
描述
內容簡介
● 認識 PyQt 和 Qt Designer
● 了解 PyQt5 和 PyQt6 的差異
● 程式碼均包含 PyQt5 和 PyQt6 版本
● 程式碼均有一般寫法和 class 寫法
● 介面與視窗元件
● 介面佈局方法
● 行為與事件
● 樣式、影像和繪圖
● 十個精選實用範例
Qt 本身是 C++ 的函式庫,而 PyQt 則是 Qt 的分支,是 Python 用來設計使用者介面 ( GUI ) 的函式庫,主要使用 Python 搭配 Qt 進行介面的設計開發,除了能完整利用 Python 語法,也保留了 Qt 的強大功能,目前市面上許多軟體,也會使用 PyQt 進行開發。
雖然 Python 本身內建 Tkinter 函式庫,但 PyQt 能用更容易理解的程式碼,以及更美觀的介面進行設計,此外,PyQt 也可以搭配 Qt Designer ( 針對 Qt 開發者的跨平台介面開發工具 ) 進行開發,並輕鬆的在 Windows、Linux 及 Mac OS 等作業系統運行。
本書是專門介紹 PyQt 的書籍,除了同時介紹 PyQt5 ( 最普及 ) 和 PyQt6 ( 最新 ) 兩種版本,每個範例程式碼都會包含「一般寫法」和「class 寫法」,從最基本的介面與視窗元件,行爲和事件、繪圖與圖形編輯都有詳細介紹,最後也會透過十個常用的精選範例,帶領大家實作出完整的應用。
作者
OXXO ( 張宗彥 )
● 高師大附中、中央大學物理系畢業
● 台灣藝術大學多媒體動畫藝術碩士
● Webduino 共同創辦人 ( 2015-2020 )
● STEAM 教育學習網創辦人 ( https://steam.oxxostudio.tw )
● OXXO.STUDIO 部落格作者 ( https://www.oxxostudio.tw )
目錄
第1章:認識 PyQt
1-1 什麼是 PyQt ?
1-2 PyQt 的特色
1-3 安裝 PyQt5 或 PyQt6 函式庫
1-4 PyQt5 和 PyQt6 的初體驗
1-5 使用 class 寫法
1-6 PyQt5 和 PyQt6 的差異
第2章:使用 Qt Designer
2-1 認識 Qt Designer
2-2 下載並安裝 Qt Designer
2-3 Qt Designer 操作介面說明
2-4 產生 .ui 檔案並轉換為 .py 程式碼
第3章:建立應用程式視窗
3-1 建立 QWidget 視窗
3-2 建立 QDialog 視窗
3-3 QWidget 視窗和 QDialog 視窗的差異
第4章:介面元件(顯示與按鈕)
4-1 QLabel 標籤
4-2 QPushButton 按鈕
4-3 QRadioButton 單選按鈕
4-4 QCheckBox 複選按鈕
4-5 QGraphicsView 顯示圖片
第5章:介面元件(輸入與下拉選單)
5-1 QLineEdit 單行輸入框
5-2 QTextEdit QPlainTextEdit 多行輸入框
5-3 QListWidget 列表選擇框
5-4 QComboBox 下拉選單
第6章:介面元件(數值調整)
6-1 QSpinBox QDoubleSpinBox 數值調整元件
6-2 QTimeEdit 時間調整元件
6-3 QDateEdit 日期調整元件
6-4 QSlider 數值調整滑桿
6-5 QProgressBar 進度條
第7章:視窗元件
7-1 QMenuBar QMenu QAction 視窗選單
7-2 QFileDialog 選擇檔案對話視窗
7-3 QMessageBox 對話視窗
7-4 QInputDialog 輸入視窗
第8章:界面佈局
8-1 Layout 佈局 ( 垂直與水平 )
8-2 Layout 佈局 ( Gird 網格 )
8-3 Layout 佈局 ( Form 表單 )
第9章:時間、行為與信號
9-1 QTimer 定時器
9-2 QThread 多執行緒
9-3 QtCore.pyqtSignal 信號傳遞
第10章:滑鼠、鍵盤與視窗
10-1 偵測滑鼠事件
10-2 偵測鍵盤事件與快速鍵組合
10-3 偵測與控制視窗
10-4 視窗中開啟新視窗
第11章:樣式設定
11-1 QSS 樣式設定
11-2 常用 QSS 樣式
第12章:繪圖
12-1 QPainter 繪圖
12-2 QPainter 繪圖 ( QPen )
12-3 QPainter 繪圖 ( 儲存圖片 )
第13章:顯示圖片、影片、聲音和網頁
13-1 顯示圖片的三種方法
13-2 顯示 Matplotlib 圖表 ( 靜態圖表、圖表動畫 )
13-3 顯示 Pillow 圖片
13-4 顯示 OpenCV 圖片和影片
13-5 QtMultimedia 播放聲音
13-6 QWebEngineView 顯示網頁元件
第14章:範例應用
14-1 簡單計算機
14-2 世界時鐘 ( 顯示各個城市的時間 )
14-3 開啟多個檔案,儲存為壓縮檔
14-4 發送 LINE Notify ( 文字、表情、圖片 )
14-5 搭配 OpenCV 實作電腦攝影機
14-6 搭配 OpenCV 實作攝影機拍照和錄影
14-7 搭配 pyaudio 實作簡單錄音機
14-8 小畫家 ( 可調整畫筆顏色 粗細和存檔 )
14-9 開啟圖片轉檔儲存 ( 可調整品質與尺寸 )
14-10 調整圖片亮度對比、飽和度、銳利度
序
在這個充滿機遇和挑戰的時代,軟體開發領域不斷發展和創新,特別是圖形界面開發方面,Python 的應用日益廣泛。在我自己的工作和學習中,深刻體會到了 PyQt 在軟體開發中的重要性,並且也發現 PyQt 的相關資源相對稀缺。
由於我是一個熱愛網頁前端技術、多媒體設計以及 Python 的網路作家( 應該是吧 ),所以我決定寫下這本《一本精通 – PyQt5 & PyQt6 軟體介面開發》,希望能夠為大家提供一個全面且實用的學習資源,幫助大家更快地掌握 PyQt 的相關知識,進而開發出更加出色的應用程式。
在本書中,我主要從 PyQt 的基礎知識、介面與視窗元件、介面佈局方法、行為與事件、樣式、影像和繪圖等方面進行了全面深入的介紹和講解。每一個章節都包含了 PyQt5 和 PyQt6 版本的程式碼示例,並且分別使用一般寫法和 class 寫法,讓讀者可以更好地理解和掌握。
在撰寫這本書籍的過程中,我不斷反思和檢討自己的寫作風格和思路,希望能夠通過簡潔明瞭的文字、大量豐富的範例程式碼,幫助讀者更好地理解和學習 PyQt 的相關知識,感謝所有在我寫作過程中給予支持和鼓勵的人,包括我的家人、朋友和出版社,希望這本書籍能夠為大家的學習和工作帶來幫助,並且透過 PyQt 開發出更加出色的應用程式,為我們的世界做出更大的貢獻!
一本精通-LINE BOT+Python+Google Dialogflow 完整掌握LINE BOT的開發技巧 打造全方位AI機器人DM2273
資料來源: https://deepwisdom.com.tw/product/%e4%b8%80%e6%9c%ac%e7%b2%be%e9%80%9a-line-botpythongoogle-dialogflow-%e5%ae%8c%e6%95%b4%e6%8e%8c%e6%8f%a1line-bot%e7%9a%84%e9%96%8b%e7%99%bc%e6%8a%80%e5%b7%a7-%e6%89%93%e9%80%a0%e5%85%a8%e6%96%b9/
描述
內容簡介
LINE 在全世界擁有上千萬的用戶,在台灣幾乎每個使用手機的人,都會註冊一個 LINE 的帳號,不論公家單位還是私人企業,也都會使用 LINE 的官方帳號來與使用者保持聯繫。隨著資訊科技的發展,近年來各個企業也逐漸打造自己的 LINE BOT,除了被動的處理客服諮詢,還能透過 LINE BOT 主動推播各種行銷活動資訊,透過與使用者的即時互動,打造優質的品牌形象。
一個最簡單的 LINE BOT,可以從註冊官方帳號開始,註冊了 LINE 的官方帳號後,從管理介面中就可以進行最簡單的 LINE BOT 聊天操作,但如果要讓 LINE BOT 擁有更多的功能,就需要撰寫程式去串接 LINE Developer 所提供的操作方法,透過各種方法的互相搭配,就能打造自己專屬的 LINE BOT ( 例如聊天機器人、記帳機器人、購票機器人、天氣通知機器人…等 )。
本書是專門介紹開發 LINE BOT 的書籍,從最基本帳號的申請串接、環境的建置和圖文選單設定,一直到 LINE Message API 的進階操作都有詳細的介紹,並且會使用本機環境、Google Colab 雲端開發環境進行實際的開發演練,最後更會搭配 Google Cloud Functions、Google Dialogflow 服務,打造一個可以 24 小時運作、並能理解自然聊天語意的 LINE BOT。
本書主要內容如下:
● LINE 官方帳號申請
● LINE 開發者帳號設定
● ngrok 服務
● Webhook
● 解析 LINE 訊息
● 回傳訊息的方法
● Google Cloud Functions
● Google Dialogflow
● 氣象機器人
● 聊天機器人
作者簡介
OXXO ( 張宗彥 )
★高師大附中、中央大學物理系畢業
★台灣藝術大學多媒體動畫藝術碩士
★Webduino 共同創辦人 ( 2015-2020 )
★STEAM 教育學習網創辦人 ( https://steam.oxxostudio.tw )
★OXXO.STUDIO 部落格作者 ( https://www.oxxostudio.tw )
★擁有十幾年跨領域 ( 斜槓 ) 的工作和學習經驗,研究 LINE BOT 多年,分別使用 JavaScript 和 Python 開發過多種聊天機器人,在各地多次進行 LINE BOT 開發授課。
目錄
– 1、認識 LINE BOT
– 1-1、什麼是 LINE BOT
– 1-2、LINE BOT 在生活中的應用
– 2、建立 LINE BOT
– 2-1、註冊並登入 LINE Developer
– 2-2、建立 Provider
– 2-3、建立 Channel
– 2-4、LINE 官方帳號設定
– 2-5、加入 LINE BOT 為好友
– 3、開發環境設定&串接 LINE BOT
– 3-1、認識 Webhook
– 3-2、取得 LINE Channel access token 和 Channel secret
– 3-3、註冊 ngrok 服務
– 3-4、建立 Webhook ( 本機環境 )
– 3-5、建立 Webhook ( Google Colab )
– 3-6、建立 Webhook ( Google Cloud Functions )
– 4、解析 LINE 訊息
– 4-1、將訊息轉換為 json 格式
– 4-2、訊息種類與屬性
– 通用屬性
– text 文字訊息屬性
– sticker 表情貼圖訊息屬性
– image 圖片訊息屬性
– video 影片、audio 聲音訊息屬性
– location 地點位置訊息屬性
– postback 訊息屬性
– 5、傳送 LINE 訊息的方法
– 5-1、自動回覆訊息
– 認識 reply token
– 回覆文字訊息
– 回覆表情貼圖
– 回覆圖片或影片訊息
– 回覆地址訊息
– Google Cloud Functions 部署自動回覆訊息
– 5-2、主動推播訊息
– 取得 LINE user ID
– 推播訊息的方法
– Google Cloud Functions 部署推播訊息
– 5-3、使用 Requests 傳送訊息
– reply message 回覆訊息
– push message 主動傳送訊息
– 透過 API 所傳送的訊息格式
– 5-4、使用 LINE URL Scheme
– 認識 LINE URL Scheme
– 發送訊息
– 發送地點資訊
– 開啟相機、發送圖片
– 常用功能列表
– 6、傳送不同類型的 LINE 訊息
– 6-1、發送樣板訊息
– ButtonsTemplate 按鈕樣板
– ConfirmTemplate 確認樣板
– CarouselTemplate 輪播樣板
– ImageCarouselTemplate 圖片輪播樣板
– 6-2、發送 Flex Message
– 設計 Flex Message
– Python 發送 Flex Message
– 6-3、建立圖文選單
– 什麼是 LINE 圖文選單?
– LINE 官方帳號建立圖文選單
– Python 建立圖文選單 ( 準備圖片 )
– Python 建立圖文選單 ( 程式設定 )
– Python 其他圖文選單方法
– 圖文選單物件格式
– 6-4、切換圖文選單
– 設定圖文選單 A
– 設定圖文選單 B
– 設定圖文選單 C
– 測試執行結果
– 7、實作 LINE 氣象機器人
– 7-1、氣象機器人 (1) – 雷達回波與地震資訊
– 建立測試用的 Webhook
– 回傳雷達回波圖
– 回傳地震資訊
– 7-2、氣象機器人 (2) – 目前氣象資訊
– 取得地址資訊
– 回傳目前氣象資訊
– 7-3、氣象機器人 (3) – 天氣預報和空氣品質
– 回傳天氣預報資訊
– 回傳空氣品質資訊
– 7-4、氣象機器人 (4) – 加入圖文選單
– 7-5、部署程式到 Google Cloud Funcions
– 8、串接 Dialogflow 打造聊天機器人
– 8-1、使用 Google Dialogflow
– 認識 Dialogflow
– 開始使用 Dialogflow
– 建立對話意圖 ( Intent )
– 機器人聊天測試
– 8-2、Dialogflow 串接 Webhook
– Dialogflow 與 WebHook 的關係
– 建立 Webhook ( 本機環境 )
– 建立 Webhook ( Google Colab )
– 建立 Webhook ( Cloud Functions )
– Dialogflow 串接 Webhook
– 8-3、伺服器串接 Dialogflow
– 建立並下載金鑰 json
– 串接 Dialogflow ( 本機環境 )
– 串接 Dialogflow ( Cloud Functions )
– 8-4、聊天機器人 (1) – LINE BOT 串接 Dialogflow ( 基本串接 )
– Dialogflow 建立 Intents 對話意圖、回覆內容
– 從 Dialogflow 建立與 LINE 串接的 Webhook
– LINE BOT 串接 Dialogflow
– 8-5、聊天機器人 (2) – LINE BOT 串接 Dialogflow ( 外部 Webhook )
– 串接流程圖
– 使用 Python 建立 Webhook 網址
– 搭配 LINE BOT 測試
– Enable Webhook call for this intent
– 8-6、聊天機器人 (3) – LINE BOT 串接 Dialogflow ( 聊天問氣象 )
– 建立 Dialogflow Intent
– 回傳雷達回波圖 ( 本機環境 )
– 回傳雷達回波圖 ( Google Colab )
– 回傳雷達回波圖 ( Cloud Functions )
– 8-7、聊天機器人 (4) – LINE BOT 串接 Dialogflow ( 接收表情貼圖 )
– 伺服器串接 Dialogflow 流程圖
– 接收表情貼圖 ( 本機環境 )
– 接收表情貼圖 ( Cloud Functions )
– 9、使用 LINE Notify 推播通知
– 9-1、認識 LINE Notify
– 9-2、申請 LINE Notify 權杖
– 9-3、發送 LINE Notify 訊息
– 9-4、透過 LINE Notify 發送表情貼圖
– 9-5、透過 LINE Notify 傳送圖片
– 9-6、透過 LINE Notify 傳送雷達回波圖
– 取得雷達回波圖網址
– LINE Notify 傳送雷達回波圖
– 避免緩存 ( Cache ) 變成舊圖片
– 10、使用 Google Clud Functions
– 10-1、認識 Google Cloud Functions
– 10-2、Cloud Functions 計費方式
– 10-3、建立 Cloud Cloud 專案
– 10-4、啟用 Cloud Build API
– 10-5、啟用 Google Cloud Functions
– 10-6、部署第一支程式
– 10-7、讀取參數
– 10-8、處理跨域問題
– 附錄 、其他參考資訊
– Python 資料型別
– Python 基本語法
– 函式庫 ( 模組 )
序
序
從學生時期開始,我對於「聊天機器人」就有一種莫名的熱情,早在十幾年前 MSN 盛行的年代,我就已透過古老的 Flash 技術,設計出了一個模擬 MSN 介面的聊天機器人,不僅能進行基本的日常對話,還能傳送當時最夯的震動、表情圖片和大頭貼,這個機器人甚至幫我完成了研究所的畢業論文 ( 碩博士論文搜尋:智慧型代理人之表情設計研究 )。
隨著 MSN 和 Flash 消失,當初的機器人從此長眠,但也因此在我心中種下了「AI 聊天機器人」的種子,直到 LINE 的出現,又引燃了我的這份熱情,由於 LINE 提供的開發文件相當完整 ( 雖然有些仍然得靠自己東拼西湊 ),讓開發者可以很方便地進行開發,所以越來越多的公司企業,都會讓自己擁有一個客服或宣傳的 LINE BOT,許多政治人物、藝人媒體或團購,也都會利用 LINE BOT 作為自己行銷的管道。
最開始接觸 LINE BOT 時,我使用 Google Apps Script 進行開發,在一兩年裡實作出好幾個 LINE BOT,有些變成了公司的產品,有些串接物聯網裝置成為了智慧家庭管家,有些甚至成為了我 LINE BOT 授課時的課堂經典範例。接觸了 Python 之後,發現透過 Python 更容易實現爬蟲、影像處理的功能,所以開始利用 Python 開發 LINE BOT,這也成為了出版這本書的契機。
這本書完整紀錄了使用 Python 開發 LINE BOT 的過程,從註冊官方帳號、註冊開發者服務開始,一直介紹到 LINE Message API 的相關用法、LINE 訊息的解析以及開發 LINE BOT 的眉眉角角,最後還會使用 Google Cloud Functions 打造 24 小時不間斷的機器人服務,使用 Google Dialogflow 打造能理解自然語意的 AI 聊天機器人,整本書盡可能減少累贅的文字敘述,將重點擺在實際程式碼的操作過程,不論是老手新手,只要跟著書中的步驟,就能輕鬆掌握 LINE BOT 的開發精髓,打造自己獨一無二的 AI 聊天機器人。