內容簡介:最推薦入手的Python入門第一本書!
真正「看得懂、寫得出、用得上」!
🚩有趣,而且有效!從「感覺會了」到「真的會了」🤩
現在靠工具、靠直覺就能Vibe出一些成果,但真正理解Python,讓你寫得更順、改得更快、做得更完整。
🚩延續《深入淺出》系列一貫風格
圖像漫畫+幽默對話講解+大量實作練習,透過多感官引導的學習,讓你自然吸收關鍵觀念與語法運作邏輯。
🚩實境學會駕馭程式、解決問題,而不只是死背語法
結合生活化案例與小專案,從基礎語法到問題拆解,帶你養成真正的程式思維,讓每一步都懂「為什麼」,而不是「剛好可以」。
🚩寫給現在就想開始、也想走得更遠的你
適合零基礎、跨領域學習者,也適合已經在Vibe、但想讓成果變得更穩建更專業的創作者與工作者。
🚩為你拓展你的可能性
AI、資料分析、自動化、Web開發、……等,用Python讓你大展身手,實現所有的可能。
--------------------------------------------------------------
『《深入淺出 Python》提供了一種引人入勝的學習體驗,感覺就像一位友好及知識淵博的導師親自指導你。這本書在娛樂性和資訊性內容之間達到了完美的平衡,使學習Python變得有趣且有效。』
—William Jamir Silva(威廉·賈米爾·席爾瓦),Anaconda軟體工程師
『這本書讓我們得以用一種有趣的方式來學習Python程式設計,所使用的開發工具與我同事日常使用的一樣。書中包含了一系列逐步加深的挑戰,讓我解決了一些在一開始無法應付的問題。書中對於"Pythonic"程式設計風格的介紹非常難得,且對讀者來說具有很高的價值,強調了「不止一種方法可以解決問題」。』
—Dave Marsden(戴夫·馬斯登), CTS雲端架構師
『《深入淺出 Python》不僅提供你基礎知識,還剔除了所有不必要的冗餘內容。讓你在開發真實應用程式時,還能享受有趣的故事,同時建立Jupyter notebooks,並在網路上部署可行的應用程式。如果Python在你的待學清單上,那就從這本書開始吧!』
—Daniel Hinojosa, 開發者/教師/演講者
『這是進入強大程式語言Python的絕佳起點,帶你踏上一段教育性和引人入勝的旅程,從概念到實際的網頁應用程式』
—Michael Hopkins(邁克爾·霍普金斯), P.Geo.(專業地質學家)/PMP(專案管理專業人士)
■ 你將從這本書中學到什麼?
想要學習Python程式語言,但不想硬啃使用手冊嗎?透過這本《深入淺出 Python》,讓你能快速掌握Python的基礎知識,包括使用內建的資料結構和函式;然後建立自己的網頁應用程式(webapp),並在雲端上部署。你將學習到如何用Python處理資料、從網路抓取資料、使用pandas做資料分析、與資料庫互動。《深入淺出 Python》第三版是一個完整的學習體驗,能幫助你在短時間內成為一名合格的Python工程師。
■ 本書為何如此與眾不同?
曾經讀過《深入淺出》系列的讀者一定知道,這本書充滿了專為大腦設計的視覺化風格,好玩、好讀又好吸收;尚未看過的讀者也別擔心,翻開書就是讓你欲罷不能的沉浸式學習!本書跳脫讓人眼睛酸澀又昏昏欲睡的技術文字,用圖像和情境打造多重感官的閱讀饗宴,帶你一口氣讀懂Python。學習原來可以這麼有趣又有感!
目錄
章節說明:【簡介】
把你的心思放在 Python 上。此時,你正試著學習某些東西,而你的大腦也在幫助你確保學習活動不會被卡住。然而,你的大腦卻總是在想,「最好留點空間給更重要的事,像是,要迴避哪些野生動物?裸體滑雪是不是一個壞主意?」。那麼,要如何騙過你的大腦,讓它認為學好 Python 才是一件生死攸關的大事?
誰適合閱讀這本書?
我們知道你在想什麼
也知道你的大腦在想什麼
後設認知:「想想」如何思考
我們的做法
讀我
安裝最新版的 Python
僅使用Python 是不夠的
根據個人喜好設置 VS Code
將兩個必要的延伸模組添加到VS Code 中
VS Code 對Python 的支援是最先進的
技術審查團隊
致謝
【0 為什麼選擇 Python?:相似但不同】
Python 從零開始計數,這聽起來應該很熟悉。事實上,Python 與其他程式語言有很多共同之處。有變數、迴圈、條件判斷、函式...等。在這本書的開篇章節中,我們將為你進行 Python 基礎知識的高層次快速導覽,在不深入細節的情況下介紹該語言。你將瞭解如何使用 Jupyter Notebook (在 VS Code 中執行) 來建立和執行程式碼。你會發現很多程式設計功能都已內建於 Python 中,你可以利用這些功能來完成工作。你還將瞭解到,儘管 Python 與其他程式語言有許多相似之處,但它們在 Python 程式碼中的呈現方式可能會有所不同。然而,別誤會:這種不同是好的,而不是壞的。請繼續閱讀以瞭解更多...
要開始執行程式碼了
準備你的第一次 Jupyter 體驗
讓我們在你的筆記本編輯器中鍵入一些程式碼
按下 Shift + Enter 以執行你的程式碼
如果你想要更多張牌呢?
讓我們研究一下抽牌的程式碼
四大類型:清單、元組、字典和集合
使用集合來模擬一副撲克牌
print dir 混搭
求助於 dir 的輸出
將撲克牌填入集合
現在感覺就像是一副撲克牌了
「card」究竟是什麼呢?
需要找什麼嗎?
讓我們停下來並做個整理
Python 內建了一個內容豐富的標準程式庫
使用 Python,你只需撰寫你需要的程式碼
就在你以為你已經完成的時候...
【1 深入探索:讓我們大展拳腳】
學習新語言的最好方法就是編寫一些程式碼。
如果你打算編寫一些程式碼,你將需要一個實際的問題。幸運的是,我們就有一個這樣的問題。在本章中,你將開始你的 Python 應用程式開發之旅,與我們的好鄰居游泳教練一起大展拳腳。你將從 Python 字串開始,學習如何根據自己的需求操控它們,同時以基於 Python 的解決方案來逐步解決游泳教練的問題。你還將更深入地瞭解 Python 內建的清單資料結構,學習變數的工作原理,並學習如何閱讀 Python 的錯誤訊息,而不至於陷入困境,同時以實際的 Python 程式碼解決實際的問題。讓我們一起深入探索 (積極投入)...
教練目前的情況如何?
教練需要一只功能更強大的碼錶
辦公室閒聊
檔案和試算表是「相關聯的」
我們的第一個任務:提取檔名中的資料
字串是一個具有屬性的物件
從檔名中提取游泳選手的資料
不要試圖猜測一個方法的作用...
分割 (也稱為拆分) 字串
還有一些工作要做
閱讀錯誤訊息時,從下往上閱讀會比較好瞭解
當你在組合方法調用時要小心
讓我們嘗試另一個字串方法
剩下的就是建立一些變數
任務 #1 已完成!
任務 #2:處理檔案中的資料
【2 數字清單:處理清單資料】
你寫的程式碼越多,你的水準就會越好。就是這麼簡單。在本章中,你將繼續建立 Python 程式碼來協助教練。你將學習如何從教練提供的資料檔案中讀取資料,將其逐列載入到一個清單中,這是 Python 中最強大的內建資料結構之一。除了從檔案的資料來建立清單外,你還將學習如何從頭開始建立清單,並根據需要動態擴展清單。你將使用Python 最受歡迎的迴圈結構之一 ── for 迴圈 ── 來處理清單。你將把值從一種資料格式轉換為另一種資料格式,你甚至會交上一個新的好朋友 (你自己的 Python BFF)。你已經喝足了咖啡並吃飽了派,所以是時候捲起袖子,回到工作中了。
任務 #2:處理檔案中的資料
取得教練的資料副本
使用 open BIF 處理檔案
使用 with 開啟 (和關閉) 檔案
變數會根據需要動態建立
你真正想要的是檔案的資料
我們從檔案中取得了游泳選手的資料
接下來需要做的事情感覺很熟悉
上一章的學習正在帶來回報
將時間字串轉換為時間值
使用 Python 進行百分之一秒轉換
Python for 迴圈快速回顧
戰火升溫... for 迴圈與 while 迴圈的較量
你現在進展順利並取得了很大的進步!
讓我們保留一份轉換的副本
列出你的清單的方法
是時候計算平均值了
將平均值轉換為游泳時間字串
是時候把所有東西整合在一起了
任務 #2 終於完成了!
【3 檔案清單:函式、模組和檔案】
你的程式碼不可能永遠待在筆記本中。它想要自由。當涉及到釋放和共享你的程式碼時,量身定製的函式是第一步,隨後是模組,它讓你得以組織和分享你的程式碼。在本章中,你將直接從迄今為止所編寫的程式碼來建立一個函式,並在此過程中建立一個可共享的模組。當你以 for 迴圈、if 陳述式、條件測試和 Python 標準程式庫 (Python Standard Library 或 PSL) 來處理教練的游泳資料時,你將立即用到模組。你還將學習如何為你的函式添加註解 (這總是一個好主意) 。還有很多工作要做,所以讓我們開始吧!
你已經擁有大部分需要用到的程式碼
如何在 Python 中建立函式
根據需要隨時保存你的程式碼
僅僅複製程式碼是不夠的
務必複製你需要用到的所有程式碼
使用模組來共享程式碼
盡情享受回傳資料所帶來的喜悅
函式會在需要時回傳元組
讓我們來取得教練的檔案名稱清單
是時候進行一些偵探工作了...
你可以對清單做些什麼?
問題出在你的資料還是程式碼?
決定,決定,還是決定
讓我們在字串「中」尋找冒號
你最終處理了 60 個檔案嗎?
教練的程式碼正在成形...
【4 格式化字串字面值:從資料來製作圖表】
有時,最簡單的方法就能完成工作。在本章中,你終於要為教練製作長條圖了。你將只使用字串 (string) 來完成此項任務。你已經知道 Python 字串的內建功能非常強大,而 Python 的格式化字串字面值 (formatted string literals) (也就是 f-strings) 則以一些相當巧妙的方式增強了這些功能。我們提議使用文字來建立長條圖,你也許覺得奇怪,但正如你將發現的那樣,這並不像聽起來那麼荒謬。在此過程中,你將使用 Python 建立檔案 (file),並僅使用幾列程式碼來啟動網頁瀏覽器。最後,教練如願以償:根據他的游泳時間資料自動生成 (automatic generation) 圖表。讓我們開始吧!
使用 HTML 和 SVG 建立簡單的長條圖
從簡單的圖表到教練的圖表
在程式碼中建構你的 HTML 所需的字串
字串串接無法擴展
f-string 是 Python 的一個非常受歡迎的功能
用 f-string 生成 SVG 非常容易!
資料都在那裡或是沒有?
確定你傳回了需要的所有資料
你現在有數字了,但它們可用嗎?
剩下的就是網頁的結尾了
寫入檔案,像讀取檔案一樣,也很輕鬆
是時候展示你的傑作了
現在只剩下兩個美觀上的微調...
是時候使用另一個自定義函式了
讓我們在你的模組中添加另一個函式
那個百分之一秒的值怎麼了?
(在這種情況下) 四捨五入不是你想要的
事情進展順利...
【5 安排資料:資料結構選擇】
你的程式碼需要將它在記憶體中的資料安排在某個地方...而當涉及到在記憶體中 (in memory) 安排資料時,你選擇使用哪種資料結構至關重要,而且這往往是區分一個有效但混亂的解決方案和一個運作良好且優雅的 (elegant) 解決方案的關鍵。在本章中,你將學習 Python 的另一個內建資料結構
章節說明:【簡介】
把你的心思放在 Python 上。此時,你正試著學習某些東西,而你的大腦也在幫助你確保學習活動不會被卡住。然而,你的大腦卻總是在想,「最好留點空間給更重要的事,像是,要迴避哪些野生動物?裸體滑雪是不是一個壞主意?」。那麼,要如何騙過你的大腦,讓它認為學好 Python 才是一件生死攸關的大事?
誰適合閱讀這本書?
我們知道你在想什麼
也知道你的大腦在想什麼
後設認知:「想想」如何思考
我們的做法
讀我
安裝最新版的 Python
僅使用Python 是不夠的
根據個人喜好設置 VS Code
將兩個必要的延伸模組添加到VS C...