前言
王國(guó)維在《人間詞話》中將讀書分為了三種境界:“古今之成大事業(yè)衷恭、大學(xué)問者此叠,必經(jīng)過三種之境界:‘昨夜西風(fēng)凋碧樹,獨(dú)上高樓随珠,望盡天涯路’灭袁。此第一境也〈翱矗‘衣帶漸寬終不悔茸歧,為伊消得人憔悴∠陨颍’此第二境也软瞎。‘眾里尋他千百度拉讯,驀然回首涤浇,那人卻在燈火闌珊處’。此第三境也魔慷。我從入門Python到現(xiàn)在也沒有多少時(shí)間只锭,所以寫如此大的一個(gè)題目必定會(huì)引發(fā)各種批判,當(dāng)然我沒有想造一個(gè)大新聞院尔,只是想根據(jù)自己的學(xué)習(xí)歷程做一個(gè)簡(jiǎn)單的總結(jié)蜻展,同時(shí)將這三個(gè)階段對(duì)應(yīng)的一些好的書籍簡(jiǎn)單介紹介紹。
正文
Python的用途十分廣泛邀摆,不同的程序員將其用于不用的領(lǐng)域纵顾,不同的程序員將自己的代碼打包成庫(kù),供其他程序員使用隧熙,從而少造輪子片挂,各種庫(kù)的使用,加之Python本身的靈活性贞盯、易讀性音念,易寫性,使用的人越來越多躏敢,tiobe統(tǒng)計(jì)編程語(yǔ)言的使用率如下:Python在一年之間使用排行榜中上升了3名闷愤,而且各大公司在招聘員工的時(shí)候如果能掌握Python,肯定是一個(gè)加分項(xiàng)件余,因?yàn)镻ython在文本處理讥脐,小程序的寫作方面具有太強(qiáng)的優(yōu)勢(shì)遭居,前段時(shí)間一個(gè)朋友讓幫忙改下他們公司logo的顏色,第一個(gè)想到的就是用Python旬渠,女票讓我?guī)退A(yù)處理大數(shù)據(jù)俱萍,第一個(gè)想到的仍然是Python等等,當(dāng)然并沒有說其他語(yǔ)言不好告丢,也不是為了討論哪種語(yǔ)言更好枪蘑,只是Python確實(shí)是一門會(huì)讓人幸福的語(yǔ)言,下面粗淺的說說我對(duì)Python學(xué)習(xí)過程中的境界劃分以及推薦書籍岖免。
在這里還是要推薦下我自己建的Python開發(fā)學(xué)習(xí)群:301056051岳颇,群里都是學(xué)Python開發(fā)的,如果你正在學(xué)習(xí)Python
颅湘,小編歡迎你加入,大家都是軟件開發(fā)黨话侧,不定期分享干貨(只有Python軟件開發(fā)相關(guān)的),包括我自己整理的一份
最新的Python進(jìn)階資料和高級(jí)開發(fā)教程闯参,歡迎進(jìn)階中和進(jìn)想深入Python的小伙伴
第一個(gè)階段:初級(jí)瞻鹏,掌握Python的語(yǔ)法和一些常用庫(kù)的使用
作為一個(gè)開發(fā)人員,除了基本的語(yǔ)法赢赊,這本書里面提到了一些其他的常用的庫(kù)乙漓,看了廖老師寫的很多東西级历,感覺他的思路释移,以及寫博客寫書的高度,概括性寥殖,原理性都十分好玩讳,這本書讀完之后,相信就可以動(dòng)手寫很多東西了嚼贡,可以盡情的玩轉(zhuǎn)Python解釋器了熏纯。
另外還有一本書《Python參考手冊(cè)》,這本書也十分的有用粤策,關(guān)于Python的方方面面基本都囊括在內(nèi)樟澜,可以作為一本Python字典來查詢使用方法,十分好用叮盘。
掌握一門語(yǔ)言最好的方法就是用它秩贰,所以我覺得邊學(xué)語(yǔ)法邊刷Leetcode是掌握Python最快的方式之一。
很多只需要將Python作為腳本或者就是寫一些小程序處理處理文本的話柔吼,到這一個(gè)階段就足夠了毒费,這個(gè)階段已經(jīng)可以幫我們完成很多很多的事情了。但是如果是一個(gè)專業(yè)學(xué)習(xí)Python的愈魏,恐怕還需要努力的升級(jí):首先觅玻,國(guó)內(nèi)的大多數(shù)人都是學(xué)習(xí)了其他語(yǔ)言(C想际,C++,Java等)之后來學(xué)習(xí)Python的,所以Python和這些語(yǔ)言的不同溪厘,也就是pythonic的東西需要一些時(shí)間去學(xué)習(xí)了解和掌握胡本;另外,對(duì)于自己領(lǐng)域的領(lǐng)域的庫(kù)構(gòu)架的掌握也需要很長(zhǎng)的時(shí)間去掌握畸悬;最后打瘪,如果想獨(dú)立完成一個(gè)Python的項(xiàng)目,項(xiàng)目的布局傻昙,發(fā)布闺骚,開源等都是需要考慮的問題。
第二個(gè)階段:中級(jí)妆档,掌握自己特定領(lǐng)域的庫(kù)僻爽,掌握pythonic寫法,非常熟悉Python的特性
推薦的第一本書是《編寫高質(zhì)量代碼--改善python程序的91個(gè)建議》贾惦,這本書大概的提了下Python工程的文件布局胸梆,更多的總結(jié)了如何寫出pythonic的代碼,另外须板,也介紹了一些常用的庫(kù)碰镜。
要想深入的了解Python,有的時(shí)候看看Python的源碼也是很重要的习瑰,自己通過讀懂源碼绪颖,來徹底的了解Python的核心機(jī)制,這里推薦《Python源碼剖析——深度探索動(dòng)態(tài)語(yǔ)言核心技術(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è)階段:高級(jí)伙判,從整個(gè)工程項(xiàng)目著眼,考慮document黑忱,distribution宴抚,性能優(yōu)化等
目前只看了一本書《the hacker guide to python》,看的是英文版的甫煞,這本書對(duì)項(xiàng)目的布局菇曲,文檔,性能抚吠,發(fā)布等做了很多詳細(xì)的介紹常潮,我覺得寫的還是很不錯(cuò),只不過本人還需要再讀幾遍楷力。
對(duì)于大多數(shù)人來說喊式,很難有機(jī)會(huì)從頭開始一個(gè)有意義的大型工程項(xiàng)目,所以自己可以用Python實(shí)現(xiàn)一些簡(jiǎn)單的功能萧朝,簡(jiǎ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è)介于初級(jí)和高級(jí)Python程序員的水平宠能,寫這個(gè)文章亚隙,也算是給自己設(shè)立的一個(gè)目標(biāo)吧。
不向靜中參妙理,縱然穎悟也虛浮 立乎其大 和而不同 古之成大事者违崇,不惟有超世之才阿弃,亦必有堅(jiān)韌不拔之志