[Python]My Python Learning Map: 初心者
這是一篇作為商管背景出生人的Python學習地圖整理。
說來可笑,過去在研究所期間,雖然曾接觸過R語言,接觸過SQL與MongoDB(NoSQL的熱門語言),也是透過當時室友的支持,才又到資工所修了這門NoSQL的課程,算是對於資料庫有了基本的認知。
因為課程專題,摸索過time series forecasting、scraping、social network analysis、data mining、machine learning,玩過一點點 Keras 接上 API 來訓練模型就好像很厲害,但實則不懂深度學習底層原理與運作機制。
但也因此,種下了希望把資料分析(Data Analysis)這件事情學好的願望,而這篇文將陸續整理我的學習歷程,目前大致會每個月上來檢視、更新一次,直到工研院的AI課程告一段落再規劃未來發展。
2021/03
重頭學起,第一次覺得自己有在coding發生在3/11那天,還為此詢問已在藍色巨人擔任PG的前室友,是否曾經有突然開竅的感覺?
大概是因為過去是以套件應用學習,最基本的物件導向(特別是繼承 封裝 多型的概念)都還沒有建立起清晰的概念,更不會去思考,這些套件簡單的function底下都是經過一番運算搭建起來的。
三月份最重要的幾件事情可以切分為
- 回顧為何學python,發展歷史與當前應用(AI崛起)
- 從最基本的資料格式、迴圈、巢狀、生成式、資料科學套件學習(Numpy, Pandas, Matplotlib)
- 建立小專題(自由擬題目,我選擇用gtts並回顧所學,寫出tts的功能)
關於重要套件如Numpy, Pandas,再另起幾篇文細細訴說吧。
這個月對我而言十分重要,是重建信心、與拾回熱忱的一個月,離開了前頭家,投入純編程的課程。起初以為會很難,但起步比想像中容易的多了,這都要感謝在大四到研究所期間,那些磨難的時光吧。
只是當時,功力不到位,都是網路上硬拚硬湊,交出看起來有樣子的專題,但實際上要自主架構出一套完整的解決方案,並持續迭代精進(做到CI/CD),還是有一大段距離。
現在選擇回頭檢視自己在基底累積的實力,才發現有些不堪,
基本的應用結合演算法或資料結構,就難垮我了,特別是到了leetcode刷通過率比較低的題目,卡的不得了。因此在中段的時刻,是我覺得最挑戰的階段吧(但大概要到四月份,再看看耕耘的如何)。
在新手期有趣的紀錄點:
2020年我還不知道%在python有只是其中一種格式化輸出(formatting)的方法,但現在我明白了,更能以最早的.format()與最新的f’’來編程。
隨後更完成了一些基本的小遊戲(應用): 譬如終極猜數字、質數判斷(生成式)、字串印出等等。
這些幫助我提升在基本應用上的排版、四則運算的邏輯能力。
學習一週後,因為搭配學習了Tkinter,老師要求做一則小專題,於是乎對於text-to-speech有興趣的我,決定嘗試用最小成本來搭建一個勉強能用的TTS應用。
這個小作品結合的套件:
from tkinter import *
from gtts import gTTS
from playsound import playsound
import os
採用gtts,透過tkinter前端介面擷取文字,呼叫API讓google幫我生成mp3的音檔,可以透過playsound直接讓os(作業系統)進行播放,或是用os開啟mp3檔案再進行播放。
也整合迴圈,可以自行建立一個數羊曲:
嘗試多一些練習時,卻發現實際上的coding好難,特別是在我打開hacker rank與leetcode後,經常一個問題需要耗費大量的時間,卡關時需要過幾小時後再回來解,順暢時則可能一題5分鐘搞定。
以上就是針對3月的小小檢視。
感謝您收看至此。