不少初學 Python 或者准備學習 Python 的小伙伴問我如何學習 Python。今天就說說我當時是怎么學習的。
緣起
我大學專業是電氣工程,畢業后做的是自動化方面的工作。對於高級語言編程基本是 0 基礎,那時剛畢業在車間做設備調試,工資也只有三四千塊錢。2014年底在知乎看到搞 IT 的薪資動輒 10k 起步,所以我也動了學習編程的念頭。
當時 Python 已經開始流行。雖然遠沒有今天熱度這么高,但是已經有一些大V在鼓勵大家開始學習 Python了。對我影響最大的是知乎ID為:"蕭井陌"的大神。我覺得他至少影響了上萬人學習 Python 。那時候他的《編程入門指南》很火,而且一直在鼓勵初學編程的人去學習 Python。其中他的這個回答對我影響最大,因為這個回答特別篤定,把步驟寫好了,照做就是了。
然后我買了他推薦的這本書,現在已經出第二版了。當時看第二遍時還是糊里糊塗的,因為你學了 Python 基礎后,還要了解 WEB 開發的一些概念,包括數據庫的基本用法。所以當時又看了 WEB 方面包括 HTML/CSS/JS,和 HTTP協議一些知識。買了本 SQL 必知必會來了解簡單的 SQL 語句。總之是 Flask 這本書看了三遍,對書中所寫的項目理解了80%左右吧。到這里基本算是入門吧,之后就開始做 IT 相關工作了。
學習方法
如果是 0 基礎學習,還是推薦《笨辦法學Python》這本小冊子開始。很直白,沒有上來就講語法,僅僅是照着敲就行了。這個小冊子看完后我當時看的是《Python核心編程-第二版》上面講的還是 Python 2.5。現在出了第三版,但是已經不推薦初學者去看了。現在你可以直接去看人民郵電出版社的《Python編程從入門到實踐》,這本書我簡單翻過,內容還是很不錯的,包括大量的實際案例,可以親手做出一點好玩的應用來。
除了 Python 外還要了解基本的 HTML/CSS/JS。這些東西花幾天時間在 W3School 看一看就差不多了。在這個過程中可以到網上看看別人都用 Python 來做哪些好玩的事情,可以跟着學學。知乎上有很多好的問題和答案,非常值得學習。
在學習過程中不必要求 100% 掌握,一些高級用法不理解沒關系,等代碼寫的多了就懂了。上面基礎知識看完后就要選擇一個方向了,比如 WEB,數據分析等。做 WEB 的話 Python 最流行的兩個框架 Django 和 Flask 選一個深入學一下就好了,我當時學的是 Flask,不過 Django 是一個大而全的框架,不需要你去找各種第三方模塊來使用,文檔也很全面,都很適合來學習。
當時網上關於 Python 的視頻資源也很少,現在在慕課網、網易雲課堂上都有大量 Python 的視頻資源了,包括很多培訓機構的教學視頻網上都可以找到。這些都是很好的學習資源。
這里插一句,如果有想報培訓機構學習的,我還是推薦一下蕭井陌的線上培訓課。16年蕭井陌自己開了線上培訓課,收費是10k人民幣,報名者眾多,我從朋友那里聽過幾節他的講課,我覺得10k很值的。從 HTTP 協議開始講起,一步一步搭建一個簡易的 Web 框架,包括基礎的 ORM 操作。這些東西搞完后你就理解了 WEB 框架的原理,你再去看 Flask,Django 這些都是一樣的套路。當然上面這些不是廣告,人家也不需要我給打廣告。我只是單純感覺如果你要報班,那么他的絕對不會讓你后悔。
體會
最開始,我可能也是電影看多了,以為寫代碼如行雲流水般才算掌握。其實不是的,寫代碼就是一個思路的問題,具體的實現過程需要各種谷歌,翻文檔。所以不要想着自己怎么什么都寫不出來,大家都一樣的。都是想半天,才能敲兩行代碼下去。
知乎上還有個大V說過,編程就是個手藝活。無他,唯手熟爾。三天不練手生,所以要用學手藝的方法去學編程,要動手實踐,不斷重復,不斷調試,修改 Bug。所以,當你不知道怎么寫的時候,就去抄別人的代碼,只要了解這段代碼在做什么事就好了,敲的多了,自然就掌握了。
學到這里,你也就剛剛入了個門而已。雖然還有更多的東西去學習,但是我們查資料、看文檔的能力已經培養出來,不會再畏懼遇到的難題,剩下的就是不斷提高自己的知識儲備,不斷提高自己解決問題的能力了。共勉。
下面是幾本你可能會需要的書籍,網上都可以下載,當然也可以私信我發給你學習。