你看到這一篇文章的時候,或許會覺得很跳tone。部落格不是以生活輔具、分享好物為主,怎麼突然跳到完全陌生的領域來了?
如果有看「關於」的話,經營部落格的次要目標是想要分享斜槓生活。想說寫太多生活輔具相關的文章,會進入疲乏狀態XD。
所以這一次跳脫大主題,來寫一下開啟我的自學人生的大門:Python。
看到這裡就會很好奇,是要轉職工程師嗎?
應該要這麼說,我想解決問題。
因為想解決問題的方法需要機器學習這一塊有辦法做到,所以開啟了機器學習自學之路,也想藉此探索自己適不適合這個機器學習的領域。
而開啟機器學習的重要條件,那就是要會Python!
為什麼選Python?

你就會想,為什麼機器學習要選Python語言,而不是其他程式語言?
很簡單,那就是:
如果各位有聽過機器學習百日馬拉松的話,欲加入該活動者,建議要有Python基礎,會比較好入門!
同樣的,Coursera有一門夯課Neural Networks and Deep Learning(由Andrew Ng等人授課),第二週的課就已經開始用Python講解Logistic Regression諸如此類的課程。
抑或想要從事資料分析、爬蟲,Python是熱門的一項工具,從而解決大數據的問題。
基於上述因素、優勢,Python無疑是一個必備工具!
自學Python的苦惱



除了找實體課程上Python之外,「自學程式」風潮也很盛行。
因為網路普及,漸漸地有越來越多線上課程、技術部落格、程式碼存取和遠端托管的網路平台、協作平台出現等等,給予許多自學者資源!
意味著,自學這條路再也不是難事,然而自學Python的網路資源太龐大,會有幾個疑問浮現在腦海中:
- 我怎麼知道我要學的東西是完整的?
- 哪個教學架構系統比較完整?
- 要上付費的課程還是免費的網路資源來學習?
- 有問題的時候,我該怎麼辦?
這個心聲,我曾經也有過!
因為本身領域非二類組,更別說程式背景或經驗了。頂多就是有學過一點的html、CSS和Arduino,但已經忘光光,而且寫法跟Python完全不一樣。
不過也因為學了Python,對於後來又學Javascript比較快上手!
我剛開始自學Python的時候,可是不斷爬文、看教學影片、參加線上課程和共學營,才漸漸把Python這個神秘面紗一點一點揭開。
在資訊爆炸的情況下,想要找出真正較佳的線上課程或學習資源,就是必須要花不少心力不斷去試聽、爬文看評價,才能選到合適自己的課程。
正因為如此,在這篇文章中,我會分享參加過的線上課程和共學營,也會提供很棒的學習資源管道。
讓想自學Python或是想了解Python是什麼的人,可以用最短時間了解有哪些資源或課程。
自學Python相關資源



中文免費資源
彭彭的課程
這一個課程是我學Python到後期才接觸到,因為當時想學爬蟲,所以意外得知有這一個頻道。
因為先前有上過其他Python線上課程,所以這個頻道就只有看過爬蟲教學影片。雖然爬蟲教學只有兩部,但對於剛開始學爬蟲的人來說簡淺易懂。
如果要涉及更進階的話,可能還是會建議找額外課程或資源去學習。
唯客學院:Python快速入門
這是高雄Python學院創辦人Victor Gau推出的免費線上課程,只要註冊就可以免費上這個課程。
這門課除了教基本語法之外,還會有很多小練習以及簡單應用的教學,是值得參考的線上課程。
Python – 100天從新手到大師
去年的5月,這個破萬顆星專案在GitHub被列為排行第一。如果你在搜尋頁面打上「Python 100天」,第一個出現的就是這個專案!
這個專案詳細列出100天的Python學習計劃,提供每天需要掌握的學習內容、資料庫等等,還有提供公開課影片、資料等等資源可以運用。
按照步驟一天一天的學習,到最後能夠使用Django開發專案。
除此之外,還有提供許多的資源,像是準備面試考題方向。
看到這麼佛的專案,還不趕快手刀存起來就說不過去囉!
英文免費資源
說到最強大的免費線上課程,那就是非Coursera莫屬了!目前看到頗受好評兩個課程,分別為:
Python for Everybody (4.8顆/5顆星)
由University of Michigan密西根大學開的以Python為主的專項課程,裡面有5門課程。
適合初學者參與這個專項課程,將Python的內容扎實完整學起來。
但就是內容較為龐大,若以12小時為一週上這門課的話,那麼需要4個月才能完成這5門課唷!
我記得第一門課有中文字幕,之後貌似是沒有中文字幕,但有英文字幕。
如果可以接受英文轟炸下又想完整學Python的話,不要猶豫去選它吧!
Introduction to Scripting in Python(4.8顆/5顆星)
為Rice University萊斯大學開的專項課程,總共有4門課程。
雖然前面教基礎Python,後面幾門課漸漸會以數據分析、資料視覺化等等方向去教學。
內容相較於上一門課沒有那麼龐大,但仍需要付出更多時間。
若以10小時為一週上這門課的話,那麼需要2個月才能完成這4門課唷!
另外,第一門課有中文字幕,但後面就是英文字幕了。
想要之後學資料分析、資料視覺化應用的話,可以考慮選擇這一門課!
付費資源
這邊推薦的付費資源,以中文為主。
而且它有專屬討論區,讓同學有問題可以提問,老師或同學都會互相幫忙解決問題,效率也很好。
另外,他也開設了進階Python課程:Python進階課程:觀念、語法、專案、爬蟲,除了教進階語法之外,Python應用的範圍也變多。
- 單純只是想學新的語言程式
- 想投入機器學習
- 想開發網頁應用程式
- 需要做數據分析
- 想用網路爬蟲快速取得資料
- 聊天機器人
- 理財投資
還有更多……
你就可以從這個角度去找,也會比較有頭緒知道自己需要哪一種課程。
幫你點選好以Python為主的中文課程的清單,請點我:Udemy Python中文課程
Python 程式設計入門共學營 【業界資深工程師導師帶你練功】
這是我第2個學Python的線上平台課程,因為當時不知道有什麼樣的專案可以練習,也茫然無措。
剛好發現有這個共學營,就這樣開啟了約2個月時間的Python寫程式之旅。
這個相較於其他線上課程不同在於,這有點像是機器學習百日馬拉松模式。
教學內容以圖文內容、範例程式碼說明、互動程式練習、延伸閱讀以及線上繳交作業、專案實作為主。
它是每週3次發布課程內容,不要小看這個頻率,一次發佈的內容,至少需要2小時來完成作業(因為有申論題跟實作題)。
也因為這樣的模式,讓我可以打好基本功,從中累積自己寫程式的能力。
因為這個共學營不像線上課程隨時就可以上,要看主辦單位開課時間。
有興趣的話可以詢問主辦單位:HappyCoder
常見問題
通常輸出錯誤,會將錯誤原因報出來,看完還是不知所以然,最簡單的方法就是直接將輸出的錯誤提示放到Google搜尋欄,通常85%可以解決到你碰到的問題。
在搜尋頁面上,比較常見的網站會有Stack Overflow、ITREAD01.COM、GitHub、Medium、CSDN-專業IT技術社區,不要擔心走錯棚。
這些網站通常會有類似問題的文章或是討論區,讓你可以快速找到問題癥結點。
如果真的還是沒有找到問題點,不妨可以參加Python相關社群詢問他們。(記得一定要先自己查過,不要當伸手牌唷,而且要有禮貌詢問。)
至今為止,要說有關以Python入門的書籍,我只有一本:精通Python。而這本也只是我的工具書而已,大部分學習資源都來自於網路。
畢竟書籍的內容更新不比網路更新的速度,查詢資料、找尋資源、交流大多以網路為媒介居多。
所以還是會建議可以去圖書館借書(但以我的經驗都要預約排很久…),而且也會有比較多書籍可以參考。
如果說真的要有書的話,盡可能找一些有結合Python應用的書籍,學起來會比較有感覺,也比較知道要如何應用。
總結
我的Python自學之路可以說是一波三折,每一次卡關,就是爬文爬文再爬文,不行了就求助,然而這樣的學習模式似乎是自學的必經歷程!
之前有跟一位教授談學習語言程式的方法,他講的一席話讓我印象很深刻:
找到一個Topic,並把需要的工具、技能學起來才有用,不然學到所有的Python語言可能沒用上。
他又補充道:「先知道Python應用,再回頭學Python會比較有意義,也不會覺得很難!」
不要想你要全學會Python裡面的每個東西,而是要看你要弄什麼樣的專案或是想應用在什麼領域。
只要會基本的語法,其餘的就等寫程式碰到問題的時候,再去查就好了,所謂的「讀萬卷書不如行萬里路」這句話就是這麼來的吧。
以上是提供Python的學習資源,希望能夠幫助到正想學Python的朋友找到合適的資源。
希望你在自學旅途上,可以發現Python的厲害之處唷!
你有用過更棒或是更好的自學資源嗎?或是你有什麼好奇想要詢問的,都歡迎在下面留言告訴我唷!
延伸閱讀:
Icons來源:
- Icons made by Freepik from www.flaticon.com
- Icons made by Good Ware from www.flaticon.com