“每年熟悉一個新領域,每年學習一門新技術。”
已經成爲很多人的共識,這次我選擇了Python。
爲什麼學
隨着數據科學概念的普及,Python這門並不算新的語言火得一塌糊塗。
但是火併不構成我們要學習它的理由,學習一樣東西必須要有其價值。我仔細考慮後選擇Python來學習主要有以下幾點:
- 從技術體系上看。我用了十多年C++,缺乏一門應用級的語言來完善自己的技術體系。
- 從項目需求上看。目前參與的人工智能、區塊鏈項目都有大量的Python應用需求。
- 從學習成本上看。學習難度比較低,應用範圍又足夠廣,怎麼看都是賺。
學什麼呢
Python的應用領域很多:
- Web開發
- 網絡爬蟲
- 科學計算
- 機器學習
- 自動化測試
- 系統運維
我需用它來做什麼,我看好未來什麼的發展,那麼就選擇什麼。從我的實際出發,我選擇逐步學習Web開發、網絡爬蟲、科學計算,結合項目實踐去消化吸收。
時間精力
學習必定是一件持續的事情,日積月累,投入時間和精力才能達到好的效果。我將“在Web開發、網絡爬蟲、科學計算方面能熟練使用Python完成項目”作爲目標。
- 作爲2018年最重要的三件事之一。
- 每週投入10小時以上學習或使用。
- 結合項目輸出直接的實踐成果。
- 以寫作總結來強化學習的效果。
學習方法
快速實踐是最有效的學習方法,我推薦從工程實踐類書籍入手,不要動不動就“think in xx” ,也許開始學的知識點不夠深入,但是快速實踐的反饋會產生繼續的動力。系統學習,但不死讀書,我總結的方法如下:
首先是確定你學習的目標,是要解決什麼問題,或達成什麼標準?後續學習過程都是圍繞着這個來進行。
- 第一遍:快速過一下學習資料(書或教程),然後直接把配套代碼運行一遍,有個總體印象,有問題跳過。
- 第二遍:老老實實的把代碼敲一遍,把書上做好筆記,有問題找資料。肌肉記憶很多時候比腦子記憶好。
- 第三遍:把重點章節拎出來拓展學習,或開始按自己的思路進行創作實踐,完成你的既定學習目標,就是要做的項目或要解決的問題。
入門資料
Python入門:
- 《Python零基礎入門學習》
- 《父與子的編程之旅》
- “廖雪峯的官方網站”
網絡爬蟲入門:
- 《從零開始Python網絡爬蟲》
Web後臺入門:
- 《Flask Web開發》
科學計算入門:
- 《利用Python進行數據分析》
機器學習入門:
- 《機器學習Python實踐》