Python新手免費學習資源、推薦書籍

by | 2 月 20, 2016

2022.01.17更新:除了中文推薦書籍持續改版外,本文資訊已逐漸過時,但期望學習記錄能點燃讀者:)

2019.02.09更新:建議優先從Python3學起,Python2.7將於2020/01/01停止更新

2018.01.05更新:Learn Python The Hard Way似乎改成付費才能閱讀,跟三年前的時空背景不同,現在有更多課程和平台選擇,例如Udemy提供付費後30天內無條件退款。因為每個人新手期只有一次,建議搭配搜尋比較新的網友學習心得,以下保持原文。

學習動機

近兩年來,網路上有許多推廣程式教學的文章,但是因為沒有特別想透過程式做什麼,所以覺得好像跟我沒什麼關係。直到2015年中,突然發現一個工作上似乎可以用程式解決的問題,能替我省下大量的時間,就這樣開始了。

在剛開始學習的時候,非常挫折,身邊沒有人會寫程式,常常卡關後就僵在那邊不知道怎麼辦,google問題,不是不知道怎麼下關鍵字、就是越查資料,不懂的地方越來越多。直到後來大量透過不同的資源學習,才逐漸慢慢進入狀況,也慢慢能寫出簡單的小工具解決自己的需求。

這篇會整理我使用過的網路資源、書籍,以及一些雖然我沒上過但是常常看到網友分享的熱門網站。如果要說學程式語言最重要的地方,我想就是自己有多想解決某個問題的執著吧,剩下就是把需要的知識,像購物清單一樣,找到他、劃掉、帶走。

英文教學資源

因為從來沒有寫過程式,建議先透過簡單的方法瞭解程式運作的概念,請到Hour of Code享受美好的時光,透過拉積木的方式,完成指定的挑戰。體驗到程式就是把某個問題,拆解成很多小步驟去完成。

接著我會推薦Jessica McKellar的講座,介紹為什麼要學Python、有哪些事情背後是透過Python完成,後面是新手入門教學,聲音很清楚。講座有兩個小時,如果聽到某個段落聽不懂也沒關係,也不一定要聽完,至少我們到這邊第一次看到coding大概是怎麼回事,這樣的收穫就夠了。

正式進入Python的學習,這邊的常見疑問是:我要學哪個版本,2還是3?

我的建議是,教學資源教哪個版本就先學哪個版本,因為後面的範例code是要照著練習的,跟老師用同一個版本就對了。以我遇到的情況,都是教Python 2比較多,原因是很多企業仍然在用2,以及一些套件還沒有支援3。

我會推薦從Learn Python The Hard Way入門,英文看得慢或是不習慣沒關係,已經有網友把它翻成中文,笨辦法學Python(連結已失效)。可以有效降低英文看不懂、外加程式看不懂所造成的雙重打擊,讓起步稍微順暢一些。中譯的版本後面幾章跟英文版不同,因為英文是最新版。

Learn Python The Hard Way有提供影片購買,$29.59美金,會coding範例還有講解給讀者聽,如果像我一樣身邊找不到人會寫程式可以問,我會建議購買,因為學習最貴的成本是時間,還有盡量讓挫折感降低保持熱情。像是如何在筆記本寫好程式、透過treminal執行,完全陌生的新手可能會卡在這邊,不知道怎麼cd到檔案所在位置、以及在terminal執行.py檔案等等。

透過Treehouse學習程式語言月費制不同,這個買了沒有限時間觀看,可以依照自己的進度前進,比較沒有時間壓力。

可搭配這些網站查資料:Python 基礎教程-runoob.com程式語言教學誌

在課程進行的過程中,卡關挫折、突然覺得沒有興趣,可以休息幾天再回來、或是先看看後面的內容。好比我剛開始學習,print不知道能幹麻,但到中間學了if、else判斷式,才發現光這樣就可以寫個簡單的文字迷宮冒險遊戲,突然覺得有趣起來。

就像我們買來的每本書不一定都會看完,影集跟漫畫也不會通通追完,哪天突然發現有更適合自己的教材,直接換過去也沒有什麼好奇怪的。畢竟有了個比較基準,我們所選的課程會更適合自己。

有了基本的概念後,可以選擇Udacity上的熱門課程Intro to Computer Science,打造一個搜尋引擎。課程的難度前面簡單,到中間後稍微(?)上升,可以了解搜尋引擎背後大致的概念。

中文教學資源

英文苦手沒關係,國內有許多非常棒的教學資源,推薦給各位:

2018.01.05更新:政大磨課師平台,蔡炎龍老師的成為Python數據分析達人的第一堂課(連結已失效),非政大學生也可用社群帳號登入,各週有穿插相當激勵的專家訪談。

課程影片段落:專家訪談。

TaichungPy-Learning Python From DataMosky老師教學,總共有四個段落。

跟我最上面提的Jessica McKellar的講座類似,有大量的實作教學。在這邊看到很多新東西像是zip,以及實務上的一些用法。第一次看跟不上沒關係,我也跟不上XD

2019.02.09更新:補充Mosky兩份簡報,零基礎的《Coding Is Magic》,與2017年一路調整後的教學精華《Practicing Python 3》。

大數學堂-網路爬蟲教學:David老師教學,影片大多五分鐘內,聽完老師分析,之後馬上看到執行程式得到結果,比起閱讀教學文章,看影片學更快。

中文推薦書籍

書籍部分我是選擇《Python程式設計入門》,原因有兩個:一是我從2015年中開始學習,而這本書是4月出版,可以確定內容是最新的;二是封面印著「適用於Python 2.x 及 3.x」,兩個版本同時兼顧,有差異處註明,所以我覺得他是當參考書的最佳選擇,購買後請記得到葉難老師的部落格更新內容訂正的部分。

整本看完花了兩個月的下班時間,書籍有疑問的部分也都可以在葉難老師的部落格留言,或是搜尋一下前面有沒有人問過。前面有提過我沒有人問,所以我貢獻了不少在下面(汗)。

另外也推薦歐萊禮的《精通 Python:運用簡單的套件進行現代運算》,去年9月出版,用的版本是Python 3。別被書名嚇到,英文書名introducing Python,內容是適合新手的,不用太擔心,附錄提供很廣的探索範圍,可以知道目前在哪些領域有相關應用。

2016.06更新:歐萊禮那本我也看完了,兩本編排風格不同,建議去書店翻翻。如果你會寫章節後的練習題,葉難那本沒有提供解答,歐萊禮的有。

其他資源

請參考下列請單,選擇自己喜歡的新手教學資源開始:

良葛格-專欄文章:Python Tutorial

Cousera-Programming for Everybody (Getting Started with Python),通過考試的付費證書類似這樣:

Codecademy

拚命玩遊戲就能學寫程式! CodeCombat 還有中文版

延伸閱讀

閱讀更多討論:知乎-編程零基礎應當如何開始學習Python?

以及我陸續寫的

Python Flask:REST API筆記 < 2019/01/06

CSS網頁繪圖/JS網頁動畫-Hahow < 2018/09/01

哈佛CS50: Python與網頁框架Flask < 2017/11/02

Python爬蟲新手筆記 < 2016/10/01 講解爬蟲概念

認識網路爬蟲(Web Crawler) < 2016/8/31 Python常見應用

Udemy平台與網頁設計課程推薦 < 2016/7/21 了解網頁結構

後記

在學習的過程中,從不少部落格裡收穫豐碩,總想著如果告一段落,我也想要寫篇文章回饋給之後查資料的人。這篇文章我整理了四個小時,記錄過去的學習軌跡以及過濾後的相關資源,希望能讓跟我一樣的新手在尋找Python資源時多些方向,並透過中文的教學影片,降低自學的不安感。其實配上中文書的學習,不用想得太可怕,先開始就對了 😀

至於為什麼一開始說「幾乎」從零開始呢?因為其實更早之前我有嘗試學習過,但是後來遇到瓶頸,也沒有什麼非要用程式解決不可的問題,就放棄了。幾年後,我突然需要用到這個工具,忘光光沒關係,從頭開始學就好了啊。

如果讀者朋友學了幾天就沒辦法持續下去、或是因為其他原因放棄,那也不用太在意,這只是代表現在對你而言不是最好的時機,必須將精神投入到其他事項上。

將來的某個時間點,有需要了、再重拾教材,心理大概還會閃過這樣的旁白:

「哈囉,我又回來找你了。」

最後,感謝Jessica提供我學習的方向、Jia Wei協助我完成第一支小爬蟲、以及Chih Cheng不厭其煩地熱心解答、還有許多Python Taiwan社群裡的好心網友協助解決問題,不然我應該學到一半就落跑了(´~`)。

如果我過去在臉書所記錄的學習片段,能夠有些激勵、甚至鍵盤體驗新手慢慢成長的過程,可以參考:習得無助感閱讀Python入門書遞迴只應天上有入門書閱畢,到現在,眼前這篇文章的誕生與分享

下篇:認識網路爬蟲:解放複製貼上的時間

吳 致賢

吳 致賢

擁有 App/Web 開發經驗的軟體 PM,從 0 到 1 執行過 20 個以上全客製專案,包含悠遊付、friDay 影音等。關於我的簡歷點此

Recent Posts

時尚與穿搭,啟蒙我審美的影片

時尚與穿搭,啟蒙我審美的影片

在 YouTube 與 bilibili 看了超過一百部關於時尚、穿搭、服飾主題的影片,整理出幾個精選,希望讓讀者們從比較有趣的角度瞭解:)