很(hen)多初級Python程序員(yuan)在工(gong)作中(zhong)遇到問題(ti)(ti)只使用(yong)Google和百(bai)度(du)去解(jie)(jie)決,但是項目需求千千萬,總有百(bai)度(du)和Google解(jie)(jie)決不(bu)了的,這時(shi)候就(jiu)需要用(yong)到官方文(wen)檔(dang)了。所以想(xiang)進階(jie)為Python高級程序員(yuan),首先要做的事(shi)就(jiu)是盡可能多的使用(yong)官方文(wen)檔(dang),學(xue)會用(yong)文(wen)檔(dang)解(jie)(jie)決問題(ti)(ti),減少使用(yong)搜索引擎的次(ci)數。
1.深入研究每一個python問題
有些知識閱(yue)讀一遍沒懂(dong)(dong)可能不影響你后面功能的(de)(de)實(shi)現,于是(shi)乎你選擇(ze)了跳過,如果要(yao)進階,一定(ding)要(yao)學(xue)會深究每一個不懂(dong)(dong)的(de)(de)問題。很多初學(xue)者(zhe)不懂(dong)(dong)什(shen)么是(shi)高級數據結(jie)構,也不懂(dong)(dong)什(shen)么是(shi)面向對(dui)象編(bian)程,然后選擇(ze)跳過,殊不知這(zhe)兩個名(ming)詞在整個學(xue)習的(de)(de)過程中占有很高的(de)(de)地(di)位(wei),碰到(dao)諸(zhu)如此類(lei)的(de)(de)問題,應立(li)刻百度(du)或(huo)者(zhe)Google,學(xue)習并了解其中的(de)(de)含義,深究雖說占用時間比較長,但一定(ding)程度(du)上可以夯實(shi)開(kai)發者(zhe)的(de)(de)基礎。
2.多提出一些發散性的問題
舉(ju)個例子:Python文檔(dang)中(zhong)有(you)一(yi)句話是(shi)這么(me)(me)說(shuo)的(de):“Python是(shi)一(yi)種動(dong)態類(lei)(lei)型(xing)和(he)解釋性語言(yan)(yan)”。通過這句話,應該思(si)考以下問(wen)(wen)題(ti):為什(shen)么(me)(me)Python是(shi)一(yi)種動(dong)態類(lei)(lei)型(xing)的(de)語言(yan)(yan)?其他編程語言(yan)(yan)是(shi)什(shen)么(me)(me)類(lei)(lei)型(xing)?動(dong)態類(lei)(lei)型(xing)語言(yan)(yan)和(he)靜(jing)態類(lei)(lei)型(xing)語言(yan)(yan)之間有(you)什(shen)么(me)(me)區(qu)別?什(shen)么(me)(me)是(shi)解釋型(xing)語言(yan)(yan)?等(deng)等(deng)問(wen)(wen)題(ti),并將自己所有(you)的(de)疑問(wen)(wen)一(yi)并解決。
3.自己去編寫python代碼
有(you)些(xie)特(te)(te)定(ding)的(de)(de)功(gong)能需要用(yong)特(te)(te)定(ding)的(de)(de)編(bian)碼(ma)(ma)方式(shi)完成,很(hen)多人(ren)在學習的(de)(de)時(shi)候會死記硬背(bei)這部分代碼(ma)(ma),比如冒泡排序、TCP三次握(wo)手等等,這種特(te)(te)定(ding)編(bian)碼(ma)(ma)一天可以背(bei)會三四十組(zu),但如果不明白為何以這樣的(de)(de)方式(shi)編(bian)碼(ma)(ma)實(shi)現,那就沒必(bi)要去記憶了。應(ying)該把更多的(de)(de)時(shi)間花在理(li)解(jie)這些(xie)代碼(ma)(ma)上,很(hen)多代碼(ma)(ma)都(dou)是前人(ren)花很(hen)久思(si)考(kao)出來的(de)(de),學習他們的(de)(de)思(si)維,對自(zi)己(ji)的(de)(de)邏輯能力提升(sheng)很(hen)有(you)幫助。
4.學Python庫和框架
Python有比(bi)較全的(de)庫(ku)和框(kuang)架,這是其他(ta)語言所不具(ju)備(bei)的(de),作為開發(fa)(fa)人員也要(yao)把這一特(te)點發(fa)(fa)揚光大,不要(yao)局(ju)限于一種技術,比(bi)如學會了Django,那就接著把Flask也學會,如果Web開發(fa)(fa)的(de)框(kuang)架都應用自如,就去學學其他(ta)領域的(de)框(kuang)架。
5.堅持寫代碼
堅持(chi)不(bu)(bu)(bu)懈寫(xie)代碼(ma),會形成編(bian)(bian)程的(de)思(si)維(wei)習慣。就像在健身房增(zeng)肌,需要持(chi)續不(bu)(bu)(bu)斷(duan)的(de)訓(xun)(xun)練才有顯(xian)著(zhu)(zhu)的(de)效(xiao)果,如果斷(duan)斷(duan)續續的(de)訓(xun)(xun)練,顯(xian)現(xian)效(xiao)果需要很久。編(bian)(bian)程也是一樣,如果不(bu)(bu)(bu)持(chi)續不(bu)(bu)(bu)斷(duan)地訓(xun)(xun)練,很難(nan)得(de)到進步。所以初學代碼(ma)的(de)童鞋注(zhu)意(yi)啦!現(xian)在沒有編(bian)(bian)程技術(shu)不(bu)(bu)(bu)要著(zhu)(zhu)急,每(mei)天堅持(chi)去(qu)寫(xie),總有一天你會對(dui)代碼(ma)得(de)心(xin)應(ying)手(shou)的(de)。
6.了解Python開發環境的信息
選擇(ze)好IDE之后,就不要隨(sui)意變(bian)更了。要知道(dao)沒(mei)有十(shi)(shi)全十(shi)(shi)美的編(bian)輯(ji)器,精通一(yi)個即可,其他(ta)編(bian)輯(ji)器大同(tong)小(xiao)異。學(xue)習(xi)版本控制(zhi),并對項(xiang)目使用GIT進行(xing)版本控制(zhi),養成這樣一(yi)種習(xi)慣。學(xue)習(xi)與虛擬(ni)環境和pip等程序包控制(zhi)系統(tong)一(yi)起使用。
學習是一(yi)個循(xun)序(xu)漸進(jin)的過(guo)程,雖(sui)然我們都希(xi)望(wang)自己快速提升自己的代碼(ma)能力(li),但也(ye)要注意(yi)做好“沉淀”工作。