現在開始想自學Python語言?
來得及
我同樣是一個開始學習Python相對較晚的人。
2015年7月本科畢業至9月研究生開學期間,我想找一份實習鍛煉一下自己,當面試官問我,
“你會Python嗎?”
“啊?Python是什么?你能給我拼寫一下名稱嗎?”
結果可想而知,面試結果很差。
所以回到家中我就馬上開始了解這么從未聽說過的編程語言,然后瘋狂的開始學習,這里,我就來介紹一下我對于學習Python的一些看法。
我認為,學習一門編程語言,應該分階段進行,
入門
進階
實戰
下面分別從這3個階段開始介紹。
1. 入門如果有一點的C語言基礎,對于學習Python會有很大的幫助。如果純粹的零基礎也沒關系,需要花費一些時間去理解編程語言里面的一些通用概念。
我認為入門Python相對容易,因此我更加推薦網上免費的在線教程,非常多,而且非常好,當然如果喜歡紙質書籍的也可以購買書籍學習。
尤其的基礎知識相對簡單,如果有一點的編程基礎一周或者更短的時間內即可對Python基本語法做一定的了解,如果購買在線課程,我認為會耗費很多時間。
關于入門階段的在線教程我推薦兩份:
Python菜鳥教程:www.runoob.com
廖雪峰Python:www.liaoxuefeng.com
關于入門書籍,我推薦一本不錯的書籍,
《Python編程從入門到實踐》
2. 進階階段關于進階,我推薦兩本書籍:
第一本:《Python Cookbook》
我認為這是一本很適合有一點Python基礎的開發者,這本書應該很多Python開發者都有所耳聞,它在基礎語法的基礎上進行了一些提升。
就如同上面這個例子,它會拋開入門的那些簡單語法去講解一些Python高級實用方法和技巧,例如抽象基類、單例模式、接口等。每一個知識點它會對應提出一個問題,然后給出相應的解決方案,并且告訴你這樣用的意義何在、怎么樣更加高效的使用Python,怎么設計更高效的軟件模式。
第二本:《流暢的Python》
這是一本經得起考驗的Python書籍。
舉一個最簡單的例子,在絕大多數教程都會講到循環和條件語句,千篇一律的告訴你"if..else..", "for...while",這個有一點編程語言的同學都知道,但是在Python里面循環和條件語句有什么特殊的地方嗎?該怎么用好它?
在很多博客、教程中都不會深入介紹,但是這本書會詳細的介紹Python深入的內容。
它和大多數書籍和在線教程蜻蜓點水式的講解不同,它更加深入,深入而不冗余,在你看這本書的時候你會發現,它的每一段話都是有意義的,沒有什么廢話。
它分別從數據結構、字典集合、文本和字節序列、函數、設計、裝飾器、閉包等講起,然后對每一塊知識進行展開,詳細介紹里面最根本的原理,然后告訴你,該怎么用好它,高效的使用它。
3. 練手項目學完基礎語法并了解Python一下高階方法之后該做些什么?
我認為首要的是先選擇一個方向,
機器學習圖像處理自然語言數據分析web......這樣才清楚自己該朝著哪個方向努力、該拿哪些項目練手,對編程能力進一步鞏固,這樣要比“無頭蒼蠅”式的漫無目的學習效率要高很多。
其次,可以找一些比較優秀的項目進行實戰,擴展自己知識面的同時對編程能力進行鞏固。
首先,以機器學習、深度學習框架為例,推薦幾個github上熱門的學習項目。
tensorflow_course
如果覺得官方文檔不能夠讓你變成tensorflow熟手,那就試著用tensorflow完成幾個機器學習算法的搭建,tensorflow_course是一個gihub資源,目前已經10k+個star,受歡迎程度可見一斑,上面有傳統算法,例如線性回歸、支持向量機,也有深度學習算法,例如卷積神經網絡,能夠讓你在學習機器學習的過程中進一步熟練tensorflow。
nfmcclure/tensorflow_cookbookgithub.comtensorflow_cookbook
這也是一個github項目資源,雖然不如上面這個火熱,但是目前也擁有4.2k+個star,和上面這個資源有些類似之處,包括傳統算法和深度學習算法的實現,可以邊學習機器學習知識、邊學習深度學習平臺。
nfmcclure/tensorflow_cookbookgithub.comAwesome-pytorch-list
如果覺得官方文檔內容不夠,可以看一下這個github資源,目前5.8k+個star,這個資源可以稱得上是大合集,包括計算機視覺、自然語言處理、教程和示例、優秀文章的實現,非常全面。
bharathgs/Awesome-pytorch-listgithub.com
另外,推薦可以關注一下Github項目PyHubWeekly,這個項目每周會定期更新一些優質的Python項目,很多適合于用于學習,能夠從中學到很多編程規范和設計模式,感興趣的可以去Github搜索一下。