Python的用途十分廣泛,不同的程序員將其用于不用的領(lǐng)域,不同的程序員將自己的代碼打包成庫,供其他程序員使用,從而少造輪子,各種庫的使用,加之Python本身的靈活性、易讀性,易寫性,使用的人越來越多,tiobe統(tǒng)計(jì)編程語言的使用率如下:Python在一年之間使用排行榜中上升了3名,而且各大公司在招聘員工的時(shí)候如果能掌握Python,肯定是一個(gè)加分項(xiàng),因?yàn)镻ython在文本處理,小程序的寫作方面具有太強(qiáng)的優(yōu)勢,前段時(shí)間一個(gè)朋友讓幫忙改下他們公司logo的顏色,第一個(gè)想到的就是用Python,女票讓我?guī)退A(yù)處理大數(shù)據(jù),第一個(gè)想到的仍然是Python等等,當(dāng)然并沒有說其他語言不好,也不是為了討論哪種語言更好,只是Python確實(shí)是一門會(huì)讓人幸福的語言,下面粗淺的說說我對Python學(xué)習(xí)過程中的境界劃分以及推薦書籍。
第一個(gè)階段:
初級,掌握Python的語法和一些常用庫的使用
這里首先推薦廖雪鋒在網(wǎng)上的書籍,這是Python2.7版本的,這本書適合于重頭開始一直讀完,作為一個(gè)開發(fā)人員,除了基本的語法,這本書里面提到了一些其他的常用的庫,看了廖老師寫的很多東西,感覺他的思路,以及寫博客寫書的高度,概括性,原理性都十分好,這本書讀完之后,相信就可以動(dòng)手寫很多東西了,可以盡情的玩轉(zhuǎn)Python解釋器了。
另外還有一本書《Python參考手冊》,這本書也十分的有用,關(guān)于Python的方方面面基本都囊括在內(nèi),可以作為一本Python字典來查詢使用方法,十分好用。
掌握一門語言最好的方法就是用它,所以我覺得邊學(xué)語法邊刷Leetcode是掌握Python最快的方式之一。
很多只需要將Python作為腳本或者就是寫一些小程序處理處理文本的話,到這一個(gè)階段就足夠了,這個(gè)階段已經(jīng)可以幫我們完成很多很多的事情了。但是如果是一個(gè)專業(yè)學(xué)習(xí)Python的,恐怕還需要努力的升級:首先,國內(nèi)的大多數(shù)人都是學(xué)習(xí)了其他語言(C,C++,Java等)之后來學(xué)習(xí)Python的,所以Python和這些語言的不同,也就是pythonic的東西需要一些時(shí)間去學(xué)習(xí)了解和掌握;另外,對于自己領(lǐng)域的領(lǐng)域的庫構(gòu)架的掌握也需要很長的時(shí)間去掌握;最后,如果想獨(dú)立完成一個(gè)Python的項(xiàng)目,項(xiàng)目的布局,發(fā)布,開源等都是需要考慮的問題。
第二個(gè)階段:
中級,掌握自己特定領(lǐng)域的庫,掌握pythonic寫法,非常熟悉Python的特性
推薦的第一本書是《編寫高質(zhì)量代碼--改善python程序的91個(gè)建議》,這本書大概的提了下Python工程的文件布局,更多的總結(jié)了如何寫出pythonic的代碼,另外,也介紹了一些常用的庫。
要想深入的了解Python,有的時(shí)候看看Python的源碼也是很重要的,自己通過讀懂源碼,來徹底的了解Python的核心機(jī)制,這里推薦《Python源碼剖析——深度探索動(dòng)態(tài)語言核心技術(shù)》,這本書并沒有看完,只是在需要深入了解Python某個(gè)功能或者數(shù)據(jù)結(jié)構(gòu)的時(shí)候看看相關(guān)章節(jié),也覺得受益匪淺。
自己領(lǐng)域的書籍和資料也肯定很多,比如web開發(fā)的構(gòu)架都有很多,只有了解熟悉了所有構(gòu)架,在選擇的時(shí)候才能衡量利弊,然后深入掌握某些構(gòu)架。
這個(gè)階段過后,可以寫出pythonic代碼,可以通過PEP8的檢查,可以為開源社區(qū)做貢獻(xiàn)了,可以將一個(gè)Python文件寫的十分好,但是如果要用Python開發(fā)一個(gè)大型項(xiàng)目,還是有很多東西需要掌握的,比如項(xiàng)目的文檔,項(xiàng)目的發(fā)布,下載,項(xiàng)目性能和案例等等。
第三個(gè)階段:
高級,從整個(gè)工程項(xiàng)目著眼,考慮document,distribution,性能優(yōu)化等
目前只看了一本書《thehackerguidetopython》,看的是英文版的,這本書對項(xiàng)目的布局,文檔,性能,發(fā)布等做了很多詳細(xì)的介紹,我覺得寫的還是很不錯(cuò),只不過本人還需要再讀幾遍。
對于大多數(shù)人來說,很難有機(jī)會(huì)從頭開始一個(gè)有意義的大型工程項(xiàng)目,所以自己可以用Python實(shí)現(xiàn)一些簡單的功能,簡單的項(xiàng)目,這個(gè)靈感可以去知乎或者quora搜索,很多前輩都分享了自己的經(jīng)驗(yàn)。
從大局入手,規(guī)劃好項(xiàng)目的布局,設(shè)定好相應(yīng)的文檔說明,提供工程下載安裝的方法,帶幾個(gè)demo,每個(gè)類,每個(gè)函數(shù),每行代碼都反復(fù)推敲,寫出pythonic的程序,相信這時(shí)候Python于我們便是信手拈來了!
總結(jié)
本文只是我認(rèn)為的學(xué)習(xí)Python的三個(gè)階段,以我粗淺之眼光,肯定有太多太多的不足,而且自己也就是一個(gè)介于初級和高級Python程序員的水平,寫這個(gè)文章,也算是給自己設(shè)立的一個(gè)目標(biāo)吧。
以上內(nèi)容為大家介紹了學(xué)習(xí)python的三個(gè)階段,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://m.2667701.com/