內容簡介
Python 幫幫忙!用程式思維解決現實世界問題
內容簡介
Python 語法大概都會了,認證或 Leetcode 的題目也刷過一輪了,程式功力怎麼還是停滯不前!?
只刷程式題還不夠,職場上不會要你去找特定的字母組合、也不會要你去找質數或數列中遺失的數字等,這些是大家應該要會的程式和演算法基礎;Github 若只有放課堂上教的九九乘法表、簡易計算機範例,也不可能會受到企業青睞。
要累積實戰能力,你需要刷各種不同領域的專題,懂得運用各種程式技巧和跨領域的知識,才足以解決現實世界可能會遇到的人臉特徵比對、文章抄襲、加解密處理...等實務問題。
本書提供豐富的專案實作,可以挑戰到超過 60 項的 Python 專案,也可以學習人臉偵測、身份辨識、即時影像處理、自然語言處理、統計分析、資料視覺化、網路爬蟲、...等各種熱門技術,作者也巧妙安排解決各種天文、地理、海巡、文學、哲學領域會遇到的問題,甚至連科幻片、殭屍片才會遭遇的困境,也都可以用 Python 來應付,跟上本書的節奏,原來 Python 真的無所不能。
【本書適用對象】
● 老是在跟基礎語法打混戰,不知道要拿 Python 做什麼。
● 即將畢業的資電科系學生,需要快速累積作品專案、擦亮履歷。
● 有程式基礎、期待轉職,但不知從何開始下手。
● 過往沒接手過完整專案,缺乏整合不同技術的經驗。
● 閒暇時想進行興趣專案開發,卻想不到任何主題。
【第三方支援套件】
資料分析基礎工具:Pandas、NumPy
影像辨識:OpenCV
圖表與視覺化呈現:matplotlib、bokeh、holoviews、wordcloud
自然語言處理:NLTK
網路爬蟲:requests、BeautifulSoup4
圖形化 GUI:tkinter
影像處理與繪製:pillow、turtle
語音套件:playsound、pyttsx3
其他基礎必備套件:os、re、pathlib、sys、random、math、itertools、collections、time、DateTime、statistics、webbrowser
【跨領域專案主題】
● 幫影集《陰屍路》畫出最佳的逃生地圖
● 運用統計分析制定海上搜救計畫
● 結合人臉辨識和自動反擊抵禦變種人入侵
● 用 NLP 幫福爾摩斯作者平反抄襲疑雲
● 掃描火星地表找出最平坦的登陸地點
● 離開地球表面也能安全返航的路線模擬
● 偵測天體亮度找出疑似外星建築物
...等 16 個實務專案
本書特色
● 多領域專案情境+整合 Python 套件與技術
● 16 個專案還不夠?每章結尾再提供練習專案和挑戰題,延伸共計有 48 個專案
● 書上程式碼都加上詳細中文註解,清晰明瞭、一看就懂,進階 Python 語法也會適當提點說明
● 全書範例提供 .py 檔和 .ipynb 檔兩種格式,方便讀者用不同方式執行應用
● 本書由施威銘研究室監修,書中針對原書內容進行大量補充,並適當添加註解,幫助讀者更好地理解內容
內容簡介
Python 語法大概都會了,認證或 Leetcode 的題目也刷過一輪了,程式功力怎麼還是停滯不前!?
只刷程式題還不夠,職場上不會要你去找特定的字母組合、也不會要你去找質數或數列中遺失的數字等,這些是大家應該要會的程式和演算法基礎;Github 若只有放課堂上教的九九乘法表、簡易計算機範例,也不可能會受到企業青睞。
要累積實戰能力,你需要刷各種不同領域的專題,懂得運用各種程式技巧和跨領域的知識,才足以解決現實世界可能會遇到的人臉特徵比對、文章抄襲、加解密處理...等實務問題。
本書提供豐富的專案實作,可以挑戰到超過 60 項的 Python 專案,也可以學習人臉偵測、身份辨識、即時影像處理、自然語言處理、統計分析、資料視覺化、網路爬蟲、...等各種熱門技術,作者也巧妙安排解決各種天文、地理、海巡、文學、哲學領域會遇到的問題,甚至連科幻片、殭屍片才會遭遇的困境,也都可以用 Python 來應付,跟上本書的節奏,原來 Python 真的無所不能。
【本書適用對象】
● 老是在跟基礎語法打混戰,不知道要拿 Python 做什麼。
● 即將畢業的資電科系學生,需要快速累積作品專案、擦亮履歷。
● 有程式基礎、期待轉職,但不知從何開始下手。
● 過往沒接手過完整專案,缺乏整合不同技術的經驗。
● 閒暇時想進行興趣專案開發,卻想不到任何主題。
【第三方支援套件】
資料分析基礎工具:Pandas、NumPy
影像辨識:OpenCV
圖表與視覺化呈現:matplotlib、bokeh、holoviews、wordcloud
自然語言處理:NLTK
網路爬蟲:requests、BeautifulSoup4
圖形化 GUI:tkinter
影像處理與繪製:pillow、turtle
語音套件:playsound、pyttsx3
其他基礎必備套件:os、re、pathlib、sys、random、math、itertools、collections、time、DateTime、statistics、webbrowser
【跨領域專案主題】
● 幫影集《陰屍路》畫出最佳的逃生地圖
● 運用統計分析制定海上搜救計畫
● 結合人臉辨識和自動反擊抵禦變種人入侵
● 用 NLP 幫福爾摩斯作者平反抄襲疑雲
● 掃描火星地表找出最平坦的登陸地點
● 離開地球表面也能安全返航的路線模擬
● 偵測天體亮度找出疑似外星建築物
...等 16 個實務專案
本書特色
● 多領域專案情境+整合 Python 套件與技術
● 16 個專案還不夠?每章結尾再提供練習專案和挑戰題,延伸共計有 48 個專案
● 書上程式碼都加上詳細中文註解,清晰明瞭、一看就懂,進階 Python 語法也會適當提點說明
● 全書範例提供 .py 檔和 .ipynb 檔兩種格式,方便讀者用不同方式執行應用
● 本書由施威銘研究室監修,書中針對原書內容進行大量補充,並適當添加註解,幫助讀者更好地理解內容
作者簡介
作者簡介
LEE VAUGHAN
作者是一名程式設計師,也是流行文化愛好者,更是一名極富熱忱的教育家,是暢銷書《Impractical Python Projects》(No Starch Press, 2018) 一書的作者。作者目前任職於全美最大能源公司埃克森美孚 (Exxon Mobil) ,是高階管理階層的科學家,負責建構和審查電腦模型,開發和測試軟體,以及培訓地質科學家和工程師。他的著作包括《Impractical Python Projects》和本書,在 Amazon 上都極為暢銷,幫助無數自學者強化 Python 基礎並確實享受寫程式的樂趣,相信也能帶給你相同的學習體驗。
LEE VAUGHAN
作者是一名程式設計師,也是流行文化愛好者,更是一名極富熱忱的教育家,是暢銷書《Impractical Python Projects》(No Starch Press, 2018) 一書的作者。作者目前任職於全美最大能源公司埃克森美孚 (Exxon Mobil) ,是高階管理階層的科學家,負責建構和審查電腦模型,開發和測試軟體,以及培訓地質科學家和工程師。他的著作包括《Impractical Python Projects》和本書,在 Amazon 上都極為暢銷,幫助無數自學者強化 Python 基礎並確實享受寫程式的樂趣,相信也能帶給你相同的學習體驗。
內容目錄
目錄
第 1 章 用貝氏定理搜救船難生還者
專案 1:搜救任務
使用貝氏定理計算機率,有效地協助海岸警衛隊進行搜救工作。本章會使用 OpenCV、NumPy 和 itertools 模組。
第 2 章 用 NLP 技術找出小說作者本尊
專案 2:獵犬、戰爭和失落的世界—作者是誰?
使用自然語言處理來判定是亞瑟‧柯南‧道爾爵士或 H. G. 威爾斯 (H. G. Wells) 撰寫了小說《失落的世界》。本章會使用 NLTK、matplotlib 和文體分析技術 (例如停用詞、詞性、詞彙量和 Jaccard 相似度)。
第 3 章 使用自然語言處理來建立演說摘要
專案 3:I have a dream. . .一個為演說製作摘要的夢!
專案 4:用 gensim 製作演說摘要
專案 5:用文字雲製作摘要
從網路上取得著名演講的演說內容,並自動產生重點摘要,也會介紹如何將小說的文本轉變為如同廣告宣傳般酷炫的展示。本章會使用 BeautifulSoup、Requests、re 常規表達式、NLTK、collections、wordcloud 和 matplotlib。
第 4 章 諜報戰—打造量子電腦也無法破解的密碼本
專案 6:Rebecca 的數位金鑰
參考暢銷間諜小說《諜夢尋謎》(The Key to Rebecca) 中使用的一次性密碼本,以數位的方式重現,用以打造牢不可破的加密訊息。本章會使用 collections 模組。
第 5 章 影像比對—發現冥王星
專案 7:重製閃爍比較儀
專案 8:利用影像差異偵測天文瞬變
重現 1930 年發現冥王星時使用的閃爍比較儀 (blink comparator)。然後使用現代電腦視覺技術自動尋找並跟踪在星空上移動的微小瞬變,例如彗星和小行星。本章會使用 OpenCV 和 NumPy。
第 6 章 用阿波羅 8 號贏得太空競賽
專案 9:阿波羅 8 號自由返航軌跡
繪製並執行巧妙的地月自由返航飛行路線,幫助 NASA 規劃阿波羅8號的登月計畫。本章會練習使用 turtle 模組。
第 7 章 選擇登陸火星地點
專案 10:選擇登陸火星地點
為探測器鎖定潛在的著陸點,在火星地圖上標出候選的降落地點,以及該位置的統計數據摘要。本章會練習使用 OpenCV、Python 影像函式庫、NumPy 和 tkinter。
第 8 章 偵測系外行星
專案 11:模擬系外行星凌日現象
專案 12:系外行星影像
模擬系外行星公轉時繞過其恆星的情況,繪製因為此現象所產生的相對亮度變化,並估計行星的直徑。最後再模擬新的詹姆斯‧韋伯太空望遠鏡觀測系外行星的情形,包括估算該行星一天的長度。本章會使用 OpenCV、NumPy、和 matplotlib。
第 9 章 異世界的敵我識別系統
專案 13:編寫機器步哨防禦槍程式
設計一個機器步哨防禦槍,以視覺方式區分人臉 Haar 特徵和邪惡變種生物,包括靜態影像和即時動態串流。本章會使用 OpenCV、NumPy、playsound、pyttsxw 和 datetime。
第 10 章 使用人臉辨識,建立禁區封鎖線
專案 14:外星禁區封鎖線
使用 LBPH 演算法進行臉部辨識,藉此控管實驗室的門禁。本章會使用 OpenCV、NumPy、playsound、pyttsx3、和 datetime。
第 11 章 建立互動式的喪屍逃生地圖
專案 15:使用區域密度圖視覺化人口密度
建構喪屍 "人口" 密度的視覺化地圖,以幫助影集《陰屍路》中的倖存者逃離亞特蘭大。本章會使用 Pandas、bokeh、holoviews、和 webbrowser。
第 12 章 在模擬世界中覺醒的救世主
專案 16:當個創世主,畫出你的小世界
我們生活在電腦模擬的世界中嗎?替模擬生物——也許是我們——找出一種方法,以證明他們確實生活在電腦模擬世界中。本章會使用 turtle、statistics、和 perf_counter。
第 1 章 用貝氏定理搜救船難生還者
專案 1:搜救任務
使用貝氏定理計算機率,有效地協助海岸警衛隊進行搜救工作。本章會使用 OpenCV、NumPy 和 itertools 模組。
第 2 章 用 NLP 技術找出小說作者本尊
專案 2:獵犬、戰爭和失落的世界—作者是誰?
使用自然語言處理來判定是亞瑟‧柯南‧道爾爵士或 H. G. 威爾斯 (H. G. Wells) 撰寫了小說《失落的世界》。本章會使用 NLTK、matplotlib 和文體分析技術 (例如停用詞、詞性、詞彙量和 Jaccard 相似度)。
第 3 章 使用自然語言處理來建立演說摘要
專案 3:I have a dream. . .一個為演說製作摘要的夢!
專案 4:用 gensim 製作演說摘要
專案 5:用文字雲製作摘要
從網路上取得著名演講的演說內容,並自動產生重點摘要,也會介紹如何將小說的文本轉變為如同廣告宣傳般酷炫的展示。本章會使用 BeautifulSoup、Requests、re 常規表達式、NLTK、collections、wordcloud 和 matplotlib。
第 4 章 諜報戰—打造量子電腦也無法破解的密碼本
專案 6:Rebecca 的數位金鑰
參考暢銷間諜小說《諜夢尋謎》(The Key to Rebecca) 中使用的一次性密碼本,以數位的方式重現,用以打造牢不可破的加密訊息。本章會使用 collections 模組。
第 5 章 影像比對—發現冥王星
專案 7:重製閃爍比較儀
專案 8:利用影像差異偵測天文瞬變
重現 1930 年發現冥王星時使用的閃爍比較儀 (blink comparator)。然後使用現代電腦視覺技術自動尋找並跟踪在星空上移動的微小瞬變,例如彗星和小行星。本章會使用 OpenCV 和 NumPy。
第 6 章 用阿波羅 8 號贏得太空競賽
專案 9:阿波羅 8 號自由返航軌跡
繪製並執行巧妙的地月自由返航飛行路線,幫助 NASA 規劃阿波羅8號的登月計畫。本章會練習使用 turtle 模組。
第 7 章 選擇登陸火星地點
專案 10:選擇登陸火星地點
為探測器鎖定潛在的著陸點,在火星地圖上標出候選的降落地點,以及該位置的統計數據摘要。本章會練習使用 OpenCV、Python 影像函式庫、NumPy 和 tkinter。
第 8 章 偵測系外行星
專案 11:模擬系外行星凌日現象
專案 12:系外行星影像
模擬系外行星公轉時繞過其恆星的情況,繪製因為此現象所產生的相對亮度變化,並估計行星的直徑。最後再模擬新的詹姆斯‧韋伯太空望遠鏡觀測系外行星的情形,包括估算該行星一天的長度。本章會使用 OpenCV、NumPy、和 matplotlib。
第 9 章 異世界的敵我識別系統
專案 13:編寫機器步哨防禦槍程式
設計一個機器步哨防禦槍,以視覺方式區分人臉 Haar 特徵和邪惡變種生物,包括靜態影像和即時動態串流。本章會使用 OpenCV、NumPy、playsound、pyttsxw 和 datetime。
第 10 章 使用人臉辨識,建立禁區封鎖線
專案 14:外星禁區封鎖線
使用 LBPH 演算法進行臉部辨識,藉此控管實驗室的門禁。本章會使用 OpenCV、NumPy、playsound、pyttsx3、和 datetime。
第 11 章 建立互動式的喪屍逃生地圖
專案 15:使用區域密度圖視覺化人口密度
建構喪屍 "人口" 密度的視覺化地圖,以幫助影集《陰屍路》中的倖存者逃離亞特蘭大。本章會使用 Pandas、bokeh、holoviews、和 webbrowser。
第 12 章 在模擬世界中覺醒的救世主
專案 16:當個創世主,畫出你的小世界
我們生活在電腦模擬的世界中嗎?替模擬生物——也許是我們——找出一種方法,以證明他們確實生活在電腦模擬世界中。本章會使用 turtle、statistics、和 perf_counter。
ISBN: 9789863127000