原文地址:learning-to-code-420-hours-later-how-to-teach-yourself-python-for-free
說明:有些網址需要翻牆。
-
大約在1.5年前,我開始自學python編程。今天,我對於完成我的項目感到自信。
-
老實說,我認為對於我能夠碼出中級初學者級別的代碼感到有點自豪。在過去的幾個月持續快速提高后,我現在已經過了編程拐點--Coding Inflection Point。這意味着我已經內化了多數python編程的基本訣竅和模式,現在某些情況下實際依賴寫好的例子去寫代碼。
-
如果你平行學習口語,那么你能夠立刻用你新掌握的語言進行基本的交流。然而,不管你表達是多么原始,往往伴隨着小詞匯量的錯誤與特征。你必須查找詞典或者。有時候,在你討論更多復雜的內容時,你不得不放棄(但是你將會使用這種洞察力來為以后提高)。直到你對你學的新技能搞到興奮。
-
之后,我想要簡單的總結下我怎樣去自學Python編程。這將會是我的一些系列非正式文章的最后一篇,從現在開始,它將是唯一重要的一篇,讓我們去看看:
我學代碼需要花費多久時間?
- 在2016年,我每個工作周大約用兩個小時學習,所以這樣來說總共用了100小時。今年,我嘗試投資一個工作周到8-10小時。那產生40(一年大約有40個周)x8小時,那么我在這個工程上總共花費的時間將達到420小時。所以我們看起來在差不多2.5個月進行密集型代碼Bootcamp的時間投資,但是擴展到20多個月中。新手培訓通常需要花費許多錢。我不會花費一分錢。
阻礙是什么?
- 如果你真的想要學習編程,除了找到自己需求和優先考慮時間之外,我可以看到唯一的其他阻礙將是缺乏自律與耐力。對於我來說,決定一個我想要完成目標使我保持活力,如果我失敗的時候,我會經歷一個巨大的失望。每個人有不同的想法。某些人可能更喜歡依賴外部壓力來拉動,比如設計到合作伙伴的責任等或者通過承諾萬一失敗后支付大量資金來保證。實際上,隨着我博客文章的進度,我感受到增加的外部壓力。另一些人非常喜歡有老師,作業和考試的正規課程。如果這中情況下,我自己的經歷將不會有太多的價值。重要的是你了解你是適合哪一種學習類型。
我是怎么做到以及使用了什么資源?
- 我按照時間順序列了一些網站與資源。
-
我開始用一種非常棒的方式學習Codecademy’s Python課程。
-
隨着我完成the Codecademy課程,我從Learn Python the Hard Way教程繼續跟着學習。
-
下一個學習是Google’s Python Class。
-
當正在學Google’s Python Class的時候,我開始去構建我自己的小程序,例如能在本地運行的簡單聊天室。我發現不僅學習新的東西與從Python的課程中解決任務是重要的,而且我已經學習到的聽到的保持練習也是重要的。一旦你理解Python中循環,列表,字典以及函數是如何工作的,並且你能去創建這些內容,學習進度是明顯加快。
-
在我完成谷歌的Python課程后並當我自己創建小程序后,我繼續縱讀並從 Automate the Boring Stuff With Python解決問題,跟着Invent with Python。后一個網站教你如何用Python構建基本的游戲,那真是非常有趣。現在,當另一些人仍然理的解有點困難的時候,一些任務實際開始的太早。所以,我挑選了一些我感到符合我知識等級的內容。
-
我繼續從Practice Python網站中解決所有的任務。現在,我開始厭倦我編程例子中重復的代碼==。
-
我按照這個教程去發布一個用Python與Django框架技術的極其簡單的博客web網站。那個仍然是有點挑戰,但是給了我第一次了解Python代碼如何在web程序中集成。我也在Github注冊了一個帳號,Github是一個非常多開發者聚集以及分享代碼的地方。
-
讀了關於Python的數據分析與可視化激勵我關注這個話題一段時間,因為他為我的寫作與工作提供了有趣的前景。我可能不需要提及數據在當今世界的日益增長的作用。
-
從這里開始,我用簡單的數據可視化來玩。我第一次抓了API(Hacker News),其次是Reddit’s API。能夠將我新掌握的技能與其他感興趣的領域結合起來,是充實且激動的。
-
我教自己(像在其他情況下大量使用stackoverflow.com,其中相關代碼的問題絕大部分已經被回答過了)連接到Google’s QPX Express API去查詢機票的數據。使用它,我構建了一個本地運行的搜索引擎。令人沮喪的是,這個API被限制每天只有50次查詢()。
另外,我可能在下個月是繁忙的為了去開發最優化的查詢機票工具並上線它。 -
目前,在通過本教程進行可視化潛在市場,我繼續使用Python模塊Matplot 與Pandas來研究數據可視化領域的幾件事情。盡管我絕大部分只是重復造輪子(通常比原來的更糟糕),但我的志向是把我感興趣的領域與寫代碼聯合起來。那將是有更多的樂趣。
下一步是什么?
-
雖然我此刻將要完成Python項目,但是這並不意味着我現在將停止學習。只需要幾個星期直到我仍然搖搖欲墜的Python技能基礎將徹底惡化。所以我將保持寫代碼狀態並嘗試發現使用適合我普遍的主題例子。數據分析與可視化吸引我很多,但是挑戰同樣存在。在過去,我讀一篇博客文章(我很遺憾沒找到它)描述自學編程的某人是怎樣經歷一個非常不合規律的學習曲線,隨着快速改善的交替循環,其次是,停滯,沮喪的周期。目前看來,我好像處於高原狀態,似乎並沒有提高我的技能,偶爾,甚至會糾結於簡單的東西。但是只要我不間斷的練習與學習,下一個周期將會成長更快。
-
我從主觀意識來寫這篇文章,但是我希望很明顯它將是幾乎每個人能做到這一點。我的最后一個建議:從你的社交媒體中擠出點時間去學習編程。你會驚奇的發現你會有這么大的進步:)。
-
如果你有任何問題,請在評論中提出來。