回覆列表
-
1 # 奔跑的烏龜bnm
-
2 # lelingtech的AI之路
首先回答下你的第一個問題,如何進行系統性學習?這個非常簡單,現在市面上或者圖書館有很多這類的教材。對於初學者而言,這些教材足夠系統了,基本上涵蓋了從初級到進階的一些必備知識,所以你可以去逛逛,選擇下你個人比較看的上手的一本書,仔細研究下去就行了。
再回答你第二個問題,應該從哪開始?任何一門計算機程式語言都必須從概念開始,計算程式語言有其專有的概念,一旦概念沒有理解清楚,後面的程式設計過程中將會有非常多的障礙。python這門語言是很講究層次的,從基本資料到語句到表示式到程式段到塊到包到庫,都是一環套一環的。只有把最基礎的概念理解透了,才能不斷理解更深層次的知識。
最後,推薦的指導書有哪些?這個真不好說,目前Python的指導書成千上萬,簡直能讓人選到眼花繚亂。不同的書,有不同的思路自己側重點,你需要自己去看看,特別對於新手而言,只有找到適合自己的書,你才會堅持看下去。
最後,給點小小的建議,在學習python的過程中一定要堅持多動手敲程式碼,即使是照著別人寫的程式碼自己敲一遍也是有好處的。在程式設計這個領域,做比看的效果不是大一點點的,你以後就會體會到了!
先說幾句題外話,非計算機專業學python要看拿來幹嘛了。我的建議是比如說你手上真的有個想法打算去實現,需要藉助一種程式語言,那麼學python沒問題。如果你現在正在求職,目標公司對於python或者相關技術有硬性要求,那麼去學python。如果是因為看到網上宣傳的全民python熱潮而學習的話,那麼你可能需要知道的是,入門完全沒有問題,但是你拿python啥東西都做不出來的。
以下是我的一些個人經驗。
1. 明確學習python的目的
先想好自己要用python來幹什麼,python的方向太多太雜,普通人根本不可能說我可以做到精通python的所有功能。大部分人主要使用python某一方面的功能。並且根據此功能在對相關的技術進行了解。舉例說明,比如你想做資料分析相關工作。那麼之後你可能需要主攻方向為python的numpy和pandas庫的學習。由於資料分析需要前期的資料採集和後續的視覺化展示甚至是建模分析。那麼你可能會花點時間學習seaborn和sklearn庫,並且由於可能涉及爬蟲,那麼就需要對scrapy框架有所瞭解。那麼這就對你後續的學習起到指導作用了。其他的諸如網站製作方向的Django,或者小遊戲方向的pygame等,就不值得你花大量精力去學習了。
2. 學習基礎語法只有學會了看python的報錯資訊,才算是真正開始邁入python的大門了。
報錯資訊一般分為如下三個大部分:第一部分是Traceback提示;第二部分是回溯到報錯程式碼所在行,並且如果報錯程式碼是引用的函式會一直回溯到函式的源頭;第三部分是錯誤型別以及對該錯誤的描述。
我關注重點為先看錯誤型別和錯誤提示,分析錯誤原因是因為報錯行寫錯了,還是由於之前的某個地方出錯了才導致當前行程式碼出錯。最後才是去修改,再除錯。
學會看報錯資訊比你學會用一百個python庫都重要的多。我有很多學python的朋友一直因為懶得看報錯資訊,懶得自己去分析,所以程式碼能力一直難以提高。大部分時候只會拿現成的程式碼來用。畢竟自己寫一旦報錯就完全不知道該咋辦了。我認為學會看報錯,是學任何程式語言的首要任務。更何況python的報錯資訊我個人認為是對使用者來說非常友好的了,很多大型庫的報錯資訊都寫得十分詳細,十分人性化了。
3. 多多實踐
多去GitHub上找一找和你想做的東西相關的專案,去啃一啃別人的程式碼。然後自己一點點敲出來,看看能不能復現,甚至做得更好。這一塊很需要耐心,也是最容易讓人洩氣的一部分。告訴自己堅持堅持。python很簡單,只要你願意花時間去琢磨,去練習,入門之後的提升是飛快的。