用半勵志的方式告訴你,怎麼學習Python開發

機器之心發表於2019-02-03
一篇 Python 開發學習路線的高度主觀、並不怎麼勵志、也不傳統,甚至太誠實、略顯粗暴的文章。

用半勵志的方式告訴你,怎麼學習Python開發

本文並不只是一篇融合了經典 PYTHON 學習書籍/影片/課程中觀點的大彙編,而且還覆蓋了一些初、中級學習者在學習過程中會面臨的更大的問題——一些 Stack Overflow 未收錄也未能解決的問題

為什麼學習 PYTHON?

不管怎麼說,為什麼應該學習 PYTHON,而不是其他 20 多門當下流行的語言之一?當你選擇開始自己的 PYTHON 之旅時,這個問題會(一天之內)多次突然出現在你的腦海裡。

選擇你的第一門程式語言就像選擇一隻新手的寶可夢。

相較於程式設計師在使用既定語言時所展示的開發技巧,以及磨鍊並整合更加通用的程式設計技巧的能力,語言本身的特性並沒有那麼重要。

如果你希望從另一門語言開始學習,現在就關掉這篇文章,順從自己的喜好吧。只要對自己的選擇自信不動搖,專注於相應的課程,你成功的機率會更高。選擇哪門語言並不重要;重要的是,一旦你做出自己的選擇,就要堅持下去。

網路上有無數關於語言/框架間比較的爭論,足以使任何一個頭腦清醒的人陷入分析困難,懷疑自己原先的選擇,最終放棄學習。

我見過一些初、中級程式設計師聲稱掌握 3~4 門語言。他們傾向於瞭解每門語言所有的細枝末節,但沒有一門是真正能夠拿來程式設計的。這就是嘗試太多、而沒有專注其一的結果。

PYTHON 是一門設計非常優美的語言。網上也可以獲得非常多的文件和教程。除此之外,PYTHON 在非常多領域中都有應用,因此無論你是什麼水平,都有非常多可以探索的東西。不過,對於這些流行的 20 多門語言中的絕大多數而言,這些話也同樣適用。

每門語言都有自己的優點和缺點,及其最適合的應用場景。PYTHON 最流行的 3 個應用場景是:資料處理、網路應用的後端編寫和自動化指令碼。我們有理由相信,PYTHON 是對於初學者而言最好的一門語言,因為這門語言的設計原則之一就是強調簡潔明瞭。

你總能聽到「你選錯了語言」的聲音。十有八九,這些說法都來自一些嘗試推銷產品、或是自己陷入了嚴重不安的人。

怎麼學習 PYTHON?

既然已經做出了自己的選擇,那麼就開始談談怎麼學習 PYTHON 吧。

很簡單。選擇一門教程,完成學習,然後選擇下一門。勞逸結合,持續重複。

只學習一本書或是影片課程並不能掌握 PYTHON。你需要經常處於在程式設計的環境中,逐漸增大練習強度。耐心、毅力、投入(以及其他優秀品質)是必不可少的!

以下是我會推薦給初學者的一個基本流程。如果你是人類(我之前檢查過,AI 目前對學習 PYTHON 還沒有興趣),那麼你的學習路線可能會有稍許不同,所以以下說明僅作參考。重要的是,應該知道什麼時候開始下一階段的學習,絕大部分人開始得太晚了。

用半勵志的方式告訴你,怎麼學習Python開發

也許相較於讀書,你更願意在 edX 上選擇一門課程。相較於具體的教程/課程而言,整體過程會更加重要。

  • 透過讀書,建立扎實的基礎。

  • 開始學習利用 PYTHON 實現一個小的獨立專案的教程,如發郵件、寫檔案。藉此機會,你會了解到對於 PYTHON 開發者而言有用的包和庫。

  • 開始培養閱讀文件的習慣。利用已有的庫,搭建小的應用程式。

  • 開始培養關於語言及其工具更深度的理解。瞭解領域內專家的工作。

  • 開始接觸原始碼。

如果你已經學習完了上圖中的 PYTHON 資料,這裡還有一些實用資源可供使用:https://www.fullstackpython.com/best-python-resources.html

在學習任何教程時,注意要順著思路親自寫程式碼。僅僅閱讀示例程式碼是遠遠不夠的。

學習通用的問題解決方法

用半勵志的方式告訴你,怎麼學習Python開發

「學習一門語言(或者框架/庫)」和「學習程式設計」之間有著細微的差異,就像「水彩」和「繪畫」的差別。

在付費開始一門「全棧網路開發」課程之前,首先要知道,學習這樣一門課並不會讓你變成一個優秀的程式設計師。它只會教你解決簡單問題的一個具體方法步驟(是的,絕大多數這些課程中搭建的網路應用確實是非常簡單的問題)。掌握這樣一個解決方法固然很好,但能夠設計自己的解決方案才是最好的。把注意力集中在程式結構、設計模式和演算法上。這些知識並不只是 PYTHON 獨有的,而在幾乎所有的語言中,都是相同的。

堅持下去,就會柳暗花明。

尋找答案

在遇到困難時(你一定會的,而且不止一次),首先嚐試(自己)解決問題,然後再去其他地方尋求幫助。很有可能,其他地方,也有其他人之前遇到了相同的問題,並把解決方案記錄在了網路上。同時,PYTHON 社群(全世界使用 PYTHON 並積極參與到與其他 PYTHON 程式設計師聯絡的人們)非常受歡迎。不管什麼時候,你都可以在那裡尋求幫助。

哇哦!PYTHON!

PYTHON 中有非常多可以學習的知識,在非常多的領域中都有它的身影。不要跳過基礎知識,直接進入一個特定領域的專業內容上。應該在學會打包後再開始 PyTorch 的學習,掌握虛擬環境後,再開始接觸 Django。掌握深度的 PYTHON 知識,長遠而言會得到更大的回報。當你在程式中使用自己高度定製化的庫時,可以減少花在 debug 上的時間。

用半勵志的方式告訴你,怎麼學習Python開發

學習需要多久時間?

9 個圖中展示的週期。

熟練掌握知識需要時間。比絕大多數人告訴你的還要久。你不可能在幾個月內變成一個程式設計專家。優秀事物需要時間和精力的打磨。我建議你至少在原生 PYTHON 上花費至少一年的時間。你會遇到讓你分心的事和消遣娛樂,儘量避免它們,但不要害怕去學習新知識。成為一個全面的開發者,不只需要 PYTHON。學習 Git、Markdown、HTML 也會讓你獲益匪淺。在整體的學習過程中,你還可能需要掌握 JS 和統計學。

保持學習的狀態,但不是僅僅學習已有知識!

用半勵志的方式告訴你,怎麼學習Python開發

掌握「學習-構建」的週期

在任何有創造力的/科學的努力中,都會有這樣兩個不斷重複出現的階段。

學習階段:在此階段,你應該專注於積累知識。讀書,完成所有的教程並挖掘所有現有的東西。

構建階段:在此階段,你應該透過使用在前一個學習階段所獲得的知識,構建出一些東西。相信自己的能力,忽視那些說你不行的聲音,寫屬於自己的應用。在完成後,回去繼續學習。

在兩個階段間找好平衡。在一到兩個月的學習階段後,開始一個月的構建階段。絕大多數人總是害怕而不敢開始進入構建階段。

成為一個學生

探索你的語言的所有知識,瞭解你的領域的前輩,提出問題,思考為什麼某個東西是這樣設計的。 

原文連結:https://hackernoon.com/a-realistic-roadmap-to-becoming-a-python-developer-ab5872959509

相關文章