Python學習新經典!
榮登各大網路書店電腦暢銷書/知名電腦專業書店暢銷書
榮獲眾多讀者肯定與近100位老師滿意的Python書籍
解決初學痛點,避免開發地雷,
融入主流技術,結合250分鐘影音教學,
從180個範例徹底掌握Python的實務應用精髓!
Python可說是當今最熱門的程式語言之一,從兒童程式教學、網站功能測試、大數據分析、物聯網、機器學習,到駭客攻擊工具等主流議題,Python都在其中占據了重要的地位。
本書以初學者的視角規劃學習地圖,從環境、語法到主題應用,直接從實例學,讓學習者輕鬆入門,並能結合目前最受重視與重要的實務運用,體驗Python的無窮魅力。
切入關鍵開發環境,快速入門與實戰,
體驗Python的開發無極限!
■快速佈署Python開發環境,熟悉編輯器與執行方式,並詳細說明如何建置,完美並存2.X及3.X等不同版本。
■詳細說明Python語法,由結構、變數、資料型態、運算式及判斷式進行學習引導,再深入迴圈、串列、元組、字典與函式等重要內容。
■範例導引式學習,從小範例到專題應用實例,即學即用即上手。
■詳述各種實用的Python套件,分析使用方式與注意事項,並以實例說明。
■全面深入不同領域的應用主題,包括大數據擷取分析、公開資料使用、行動資料庫存取、資訊圖表繪製、Facebook貼文與照片下載、Office文件處理、YouTube影片下載、臉部辨識與驗證碼圖片破解、大量檔案批次處理、多媒體播放器,以及遊戲開發…等,將Python結合主流且新穎的應用,立即升級開發功力。
■新增重點技術,讓您打造屬於自己的套件,跨入客製化強大功能的層級。
■針對重點內容與專題提供影音輔助教學,迅速提升學習效率。
書附超值DVD:
範例程式檔/250分鐘關鍵影音教學
目錄
01 建置Python開發環境
Python程式語言是一種物件導向、直譯式的電腦程式語言。根據權威機構統計,Python與C、Java 為目前最受歡迎的程式語言前三名。Python可在多種平台開發執行,本書以Windows系統做為開發平台,並以Anaconda套件組做為開發環境,不但包含超過300種常用的科學資料分析套件,還內建超強編輯器。
02 基本語法與結構控制
程式的執行方式有循序式及跳躍式兩種,循序式是程式碼由上往下依序一列一列的執行。程式設計也和日常生活雷同,常會遇到一些需要做決策的情況,再依決策結果執行不同的程式碼,而這種就是跳躍式執行。
03 迴圈、資料結構及函式
Python迴圈命令有2個:for迴圈用於執行固定次數的迴圈,while迴圈用於執行次數不固定的迴圈。串列與其他語言的陣列(Array)相同,其功能與變數相類似,是提供儲存資料的記憶體空間。元組(Tuple)的結構與串列完全相同,不同處在於元組的元素個數及元素值皆不能改變。字典(Dict)的結構也與串列類似,其元素是以「鍵- 值」對方式儲存,這樣就可使用「鍵」來取得「值」。
在一個較大型的程式中,通常會將具有特定功能或經常重複使用的程式,撰寫成獨立的小單元,稱為「函式」,並賦予函式一個名稱,當程式需要時就可以呼叫該函式執行。
04 檔案處理與SQLite資料庫
Python能大量快速的處理電腦系統中的檔案與資料夾,除了使用os套件進行目錄建立與刪除目錄、檔案刪除、執行作業系統命令等動作,也可以利用Python內建函式開啟指定的檔案,並進行檔案內容的讀取、寫入或修改。Python內建嵌入式資料庫SQLite,利用檔案儲存整個資料庫,SQLite的特點是可以使用SQL語法管理資料庫,執行新增、修改、刪除和查詢。
05 網頁資料擷取與分析
許多人都非常喜歡使用Python在網頁上收集資料,不僅擷取方便,分析統計的功能也十分齊全。
利用Python套件中的函式可以輕易解析指定網址的內容,透過其屬性取出網址中各項有用的資訊。
Python可以進一步使用函式讀取網頁原始碼,再利用相關語法或正規表示式搜尋取得符合資料。如果擷取的資料更複雜,Python可以藉由功能更為強大的網頁解析工具,針對特定的網頁及目標加以擷取與分析。
06 網頁測試自動化
Python執行網頁測試的功能十分強大,甚至能藉由排程的動作讓所有過程自動化,對於許多人來說是不可多得的神器。
07 圖表繪製
Python除了資料擷取進行分析之外,將相關數據繪製成統計圖表更是它的強項。
08 實戰:Facebook貼文與照片下載
Facebook是目前最流行的社群網站,日常生活的分享、相關資訊的吸收,以及人與人之間交流,似乎都離不開這個無形的領域。如何使用Python來進行Facebook上的操作,是許多人很有興趣的主題,這裡將以一些實用的功能進行實例的操作。
09 實戰:YouTube影片下載器
YouTube已經是目前世界上最大影音分享網站,其中有許多值得珍藏的影片,因此大部分人皆有從 YouTube網站下載影片的需求。
本章將介紹利用套件製作出容易操作,圖形化的使用者介面, 再使用PyTube套件分析指定的YouTube網址,設定好影片品質及檔案類型後,把影片下載到本機中。
10 實戰:Word文件處理
Office的文件是我們日常生活工作都常用到的文件格式,其中Word格式的檔案更是重要。
Python語言可透過套件對Microsoft Office文件進行存取,當然電腦必須已安裝Office軟體。
本章利用套件製作兩個實際應用:自動建立整個月份的營養午餐菜單,及自動取得指定目錄中所有Word文件(包含子目錄),並對所有Word檔案進行置換文字功能。
11 實戰:PM2.5即時監測顯示器
PM2.5是細懸浮微粒的污染指標,對人體的健康影響很大,已是現在很重要的議題。行政院環保署環境資源資料開放平台有公佈PM2.5資料,而且每小時就更新一次,也成為許多人定時觀看的資訊。
Python的套件不但可以自動讀取網頁中的表格資料,還可對資料進行修改、排序等處理,也可繪製統計圖表,對於資訊的擷取、整理以及顯示是不可多得的好工具。
本章的PM2.5即時監測顯示器,程式可以直接讀取開放平台的資料,在整理後顯示,讓使用者隨時都可取得最新監測資料。
12 實戰:臉部辨識及驗證碼圖片破解
OpenCV是一個開發原始碼、跨平台的電腦視覺程式庫,可以在商業和研究領域中免費使用,目前已應用於人機互動、臉部識別、動作識別、運動跟蹤等領域。要進行特定圖像辨識最重要的是要有辨識對象特徵檔,OpenCV已內建臉部辨識特徵檔,只要使用OpenCV的CascadeClassifier類別即可辨識臉部。
在許多網站都會利用圖形驗證碼來阻擋網站上不當或惡意的訪問動作,如果要進行驗證碼圖片破解,要將圖形驗證碼轉換為文字。Python可以透過圖形處理套件將大部分圖片背景去除,再讀取圖片文字進行破解。
13 實戰:Firebase即時資料庫應用
Firebase是專為行動應用開發者所提供的後端服務平台,Firebase所提供的資料庫和傳統資料庫使用表格式資料表儲存資料的方式不同,而是使用Key、Value字典型態的結構來儲存資料,使用上不僅輕量,結構相當彈性,而且會立即反應。Python可以透過套件來存取Firebase資料庫,進而開發實用的應用程式。
本章將利用Python的功能運用套件將英文單字的資料儲存在Firebase即時資料庫中,使用者可以使用英文單字查詢中文說明。
14 實戰:批次更改資料夾檔案名稱與搜尋
Python對於檔案處理有很突出的表現,也是很多人經常使用的功能。
在這章中,將統整Python檔案處理的技巧,例如大批檔案的複製、依指定的名稱儲存檔案、找出重複的照片、將所有的圖檔更改為相同的大小的需求,以實際的範例進行說明。
除此之外,使用者也可以利用Python程式進行檔案內容文字的搜尋,只要指定資料夾或檔案,甚至是整台電腦,都可以在極短的時間內完成搜尋的動作。
15 實戰:音樂播放器
Python也有處理多媒體檔案的能力,如果要播放音效,可以利用pygame套件中的mixer物件。mixer物件中可以使用Sound和music物件進行音效的播放。不同的是Sound物件適合播放較短的音效,如OGG和WAV音效檔;而music物件除了可以播放這兩種音效檔外,也可以播放時間較久旳MP3音效檔,並進行相關的控制。
16 實戰:PyGame遊戲開發
遊戲開發需要使用的技術範圍相當廣泛,除了多媒體音效、圖片動畫,程式設計應用更是其中的核心。PyGame是為了讓Python能夠進行遊戲開發工作所發展出來的套件,它能幫助Python控制音效音樂、圖片動畫,並進行程式的運作,是一個十分強大,功能完整的套件。
本章中將詳細說明PyGame的使用方式,並利用實例範例帶領讀者學習其中重要的技巧,最後再利用一個有趣又好玩的遊戲進行專題開發,讓您也可以利用Python快速的進入遊戲開發的世界。
17 將Python打包成執行檔
想要將完成的Python應用程式,分享給自己的好友,卻發現好友的電腦中並沒有安裝Python以及相關的套件。這時,就必須要使用包裝工具將Python應用程式打包成exe執行檔,就可以在其他機器上執行。
附錄A 打造自己的套件
其實建立自己的套件並不難,使用Spyder除了建立檔案,也可以建立專案,然後在專案中再建立目錄和檔案。較完整的應用程式通常由許多的類別組成,建立類別後就可以根據類別建立物件。
01 建置Python開發環境
Python程式語言是一種物件導向、直譯式的電腦程式語言。根據權威機構統計,Python與C、Java 為目前最受歡迎的程式語言前三名。Python可在多種平台開發執行,本書以Windows系統做為開發平台,並以Anaconda套件組做為開發環境,不但包含超過300種常用的科學資料分析套件,還內建超強編輯器。
02 基本語法與結構控制
程式的執行方式有循序式及跳躍式兩種,循序式是程式碼由上往下依序一列一列的執行。程式設計也和日常生活雷同,常會遇到一些需要做決策的情況,再依決策結果執行不同的程式碼,而這種就是跳躍式執...