Featured image of post 從零開始學Python (30) — 結語:少年啊,要忍耐,撐過熬過總算苦盡甘來

從零開始學Python (30) — 結語:少年啊,要忍耐,撐過熬過總算苦盡甘來

Day 30 結語:少年啊,要忍耐,撐過熬過總算苦盡甘來

註:本篇文章同步刊載於iT邦幫忙,為鐵人賽之系列文章。
https://ithelp.ithome.com.tw/articles/10247306

終於是最後一天了!!!
又來到了輕鬆聊的時間。
坦白說這次的30天過得並不輕鬆,
除了一些外務需要處理外,一開始也是從沒有存稿的狀態下開始的。
每天被進度追著打的感覺實在是很累XD!

寫這一系列文章的初衷,
最初是因為看到自己的學生們,
因為從LeetCode學演算法系列文章 找到了我,
但很多卻是想要轉職但對Python不熟的同學。
不,應該是說對於整個程式語言該從哪裡開始都不清楚。
通常這樣的狀況下,我們會從各種巨X電腦、O成電腦,
或各種線上學院開始先學基本的程式語言。
問題來了:
就算是同一家電腦甚至是資策會,
一來學費挺貴的,二來師資有所落差,風格也各有不一,
沒有人能保證自己一開始遇到的老師就是最適合自己的。

所以,建構一個基礎 的系列文章教學,
內容不要像X者歸來那樣子又厚又重,
並且範例不要千篇一律讓讀者容易失去興趣,
是一件非常重要的事情。

如果拿這一系列文章和書籍相比,
讀者可能會發現,有很多東西是被筆者略過的:
例如我們沒有講到匿名函式(lambda function)
也沒有講到namedtuple
沒有講到pdf和xls的檔案處理,以及另一個數據分析的好用工具pandas
沒有講到OpenCV (可能比PIL更容易被用到,而且支援跨平台);
沒有講到網路連線相關的模組
也沒有講到多執行緒/多處理程序(multi-threading/multi-processing)

並不是它們不重要,而是筆者認為,
對於初學者而言,重點不是每一個都聽過摸過,
而是能先使用既有基本的東西,並且從它們當中,
組合出自己想要的程式。

在這個過程中,有遇到任何問題,
就去查資料、文件檔,或者向人請教提問,
將自己需要的知識不斷補足完善,這才是筆者希望看到的。

讓我們簡單回顧一下這三十天學了什麼,
以及再深入的話,可以再往哪個方向了解:
1. Python的安裝 ,除了本文提到的方式外,
另外還有Anaconda/pipenv等,
對於需要架構乾淨的多個執行環境而言蠻重要的,
同時也可以建構jupyter notebook,
使用iPython的以方格為單位的執行。

2. 變數、型態、運算子的部分,
其實還有很多跟位元運算有關的處理以及技巧,
如果在寫題目遇到跟bit相關的東西的時候會很常用;
字串也帶有許多好用的方法可以運用,
同時還有使用正規表達式(regular expression)來搜尋字串 的方法,
這個比較易學難精,有興趣可以再深入了解。

3. 進階的資料型態 ,記得我們的炸蝦嗎XD?
字典、串列、集合、元組的應用相當廣泛,
有一些東西和方法可能沒有詳列上去,
讀者可以遇到狀況時先查查有沒有可以用的對應內建方法呦!

4. 程式結構及語法 ,包含了if, for, while等,
應該算是最基礎的東西了,這當中應該唯有搭配Except的部分比較特殊,
再請多加留意。

5. 例外處理和遞迴 ,有關遞迴的處理速度和記憶體問題,
文章有更新一位在「程式人雜誌」社團的讀者提供的深入探討,
讀者可以再行參閱。

6. 模組與套件 ,關於其讀取的部分,其實有一些更細部的規則,
若想要建構比較嚴謹的大型程式的話,請再搜尋相關的文章。

7. 標準程式庫 ,其實還有很多很多很多XD,
建議讀者可以參照著Python的官方文件,
可以針對需求看有沒有自己需要的東西。

8. 物件與類別,
是所有物件導向程式語言(OOP, Object-Oriented Programming)
當中很重要的一環,當中的概念請務必好好理解清楚,
在使用時才不容易混淆。

9. 檔案讀寫,
除了一般文字檔、CSV、JSON外,
XML/YAML也是常用的格式;除此之外,了解HTML的格式,
將有利於有志朝網頁爬蟲相關技巧學習的讀者。
若以爬蟲而言,beautifulsoup, scrapy, request, selenium 可能是重要的關鍵字。

10. 日期時間、圖形處理、GUI介面等,
都算是Python內建好用的模組,尤其對於Tkinter而言,
也有很多其他的模組可以取代或者讓它變更好用。

11. 其他常用的資料結構相關模組 ,可以搭配著演算法學習,
效果會更好,最好搭配筆者的從LeetCode學演算法系列XD

12. 科學運算、繪圖及深度學習,
是走向AI/資料科學的敲門磚,後續還有更多更深入的東西可以玩的,
有興趣的讀者若想要走AI相關領域,
建議可以從吳恩達/李宏毅/林軒田等大師的機器學習課程開始,
如果想要先了解一點基礎簡單的深度學習框架,
閱讀莫煩Python的系列教學也不錯!

13. 其他沒有提到的如Python+Flask(前端),
Python+SQLite/MongoDB/Redis(後端)等,
如果讀者扎扎實實地經過這三十天的練習,
應該會擁有進一步透過網路文章資源來學習這些的能力,
就再請大家針對需求去搜尋囉!

除此以外,每天的副標題
其實都跟當天要講的內容有關聯性,
並不單純只是梗或者是歌詞而已,
若讀者可以有效地將文章內容和副標題連結上
相信能更理解文章所要表達的內容。

最後,不免幫自己工商一下:
筆者目前除了從LeetCode學演算法的線上課程外,
也和幾位朋友成立一個團隊,名為Chill Cat(去憂貓)
當前正在鑽研AI輔助心理諮商 的部分;
同時我們也有經營有關AI智能化交易指標 的研究,
(可以是MetaTrader ,也可以是別的XD)
以及協助企業評估/導入AI或自動化 的可能。
歡迎有興趣合作或委託開發的諮商師、心理師,
以及公司行號和我聯絡。

來信請寄:bbsc.aiteam@gmail.com

平常的時候,若對於LeetCode解題感興趣,
還是可以在FB的Python Taiwan社團
我的Medium上看到我!
也可以來追蹤我的粉專:跟著Desolve學程式
裡面會不定時分享一些程式相關的文章或資訊呦!

感謝大家的收看,那我們明年……
等一下,先不要,先不要XD
我再考慮看看啦XDDD!
就這樣,掰掰~

工商時間:

抽獎活動還在繼續累積人數(現在好像沒有人想抽XD)
Python Taiwan的連結第100篇的文章 底下,
公開分享到你的臉書、按讚該篇文章、並留言告訴我說,
「你最喜歡這一整個系列的哪一篇?為什麼?」或
「除了從LeetCode學演算法系列以外,
你還想要看到關於什麼方向的文章?」

超過20則留言的話 (有完成以上步驟的才算),我們就抽一組
「從Leetcode學演算法|進階篇」+「從Leetcode學演算法|面試篇」
課程的免費兌換券進行贈送!

期限嘛…就延長到滿人數吧XDD (不然也沒辦法哈哈)

容筆者工商一下,
「從Leetcode學演算法|進階篇」 開放預購啦!
這次選了40道難度加深的LeetCode題目,
同樣也會細部解說對應的技巧及須要掌握的演算法!
同時這次購買進階篇的話,
額外還加贈**「從Leetcode學演算法|面試篇」** !
當中包含了面試準備須知分享及訪談國內外不同經驗的工程師
讓你不論是想走前端/後端/一般軟工 或者是想找國外的工作
初學想轉職 還是正在工作 ,都能夠從中得到收穫呦!
有興趣的朋友可以使用下面的早鳥優惠~
「從Leetcode學演算法|進階篇」+「從Leetcode學演算法|面試篇」
https://bit.ly/leetcodeadv

「從Leetcode學演算法」全套(基礎/進階/面試篇)同捆優惠:
https://bit.ly/leetcodeall

共發表了 171 篇文章 ‧ 總計 311.6k
使用 Hugo 建立
主題 StackJimmy 設計