深入學(xué)習(xí)文檔,使用文檔
很多初級(jí)Python程序員在工作中遇到問(wèn)題只使用Google和百度去解決,但是項(xiàng)目需求千千萬(wàn),總有百度和Google解決不了的,這時(shí)候就需要用到官方文檔了。所以想進(jìn)階為Python高級(jí)程序員,第一步要做的事就是盡可能多的使用官方文檔,學(xué)會(huì)用文檔解決問(wèn)題,減少使用搜索引擎的次數(shù)。
此外還有一個(gè)小技巧,可以把官方文檔打印成小冊(cè)子,經(jīng)常拿出來(lái)翻看,熟悉文檔內(nèi)容,這樣在不知不覺(jué)中,Python技術(shù)會(huì)提升很多。
深入研究每一個(gè)問(wèn)題
有些知識(shí)閱讀一遍沒(méi)懂可能不影響你后面功能的實(shí)現(xiàn),于是乎你選擇了跳過(guò),如果要進(jìn)階,一定要學(xué)會(huì)深究每一個(gè)不懂的問(wèn)題。例如,Python官方文檔的第一句話說(shuō):“Python提供了高效的高級(jí)數(shù)據(jù)結(jié)構(gòu),還能簡(jiǎn)單有效地面向?qū)ο缶幊獭?rdquo;
很多初學(xué)者不懂什么是高級(jí)數(shù)據(jù)結(jié)構(gòu),也不懂什么是面向?qū)ο缶幊?,然后選擇跳過(guò),殊不知這兩個(gè)名詞在整個(gè)學(xué)習(xí)的過(guò)程中占有很高的地位,碰到諸如此類的問(wèn)題,應(yīng)立刻百度或者Google,學(xué)習(xí)并了解其中的含義,深究雖說(shuō)占用時(shí)間比較長(zhǎng),但一定程度上可以夯實(shí)開(kāi)發(fā)者的基礎(chǔ)。
多提出一些發(fā)散性的問(wèn)題
舉個(gè)例子:Python文檔中有一句話是這么說(shuō)的:“Python是一種動(dòng)態(tài)類型和解釋性語(yǔ)言”。通過(guò)這句話,應(yīng)該思考以下問(wèn)題:為什么Python是一種動(dòng)態(tài)類型的語(yǔ)言?其他編程語(yǔ)言是什么類型?動(dòng)態(tài)類型語(yǔ)言和靜態(tài)類型語(yǔ)言之間有什么區(qū)別?什么是解釋型語(yǔ)言?等等問(wèn)題,并將自己所有的疑問(wèn)一并解決。
盡可能自己去編寫代碼
有些特定的功能需要用特定的編碼方式完成,很多人在學(xué)習(xí)的時(shí)候會(huì)死記硬背這部分代碼,比如冒泡排序、TCP三次握手等等,這種特定編碼一天可以背會(huì)三四十組,但如果不明白為何以這樣的方式編碼實(shí)現(xiàn),那就沒(méi)必要去記憶了。應(yīng)該把更多的時(shí)間花在理解這些代碼上,很多代碼都是前人花很久思考出來(lái)的,學(xué)習(xí)他們的思維,對(duì)自己的邏輯能力提升很有幫助。
學(xué)習(xí)熱門的Python庫(kù)和框架
Python有最全的庫(kù)和框架,這是其他語(yǔ)言所不具備的,作為開(kāi)發(fā)人員也要把這一特點(diǎn)發(fā)揚(yáng)光大,不要局限于一種技術(shù),比如學(xué)會(huì)了Django,那就接著把Flask也學(xué)會(huì),如果Web開(kāi)發(fā)的框架都應(yīng)用自如,就去學(xué)學(xué)其他領(lǐng)域的框架。
比如,用于GUI開(kāi)發(fā)的Tkinter和PyQT;用于數(shù)據(jù)科學(xué)的Numpy和Pandas。擴(kuò)寬自己的知識(shí)面,是成長(zhǎng)為一個(gè)高級(jí)開(kāi)發(fā)工程師的必經(jīng)之路。
每天堅(jiān)持寫代碼
堅(jiān)持不懈寫代碼,會(huì)形成編程的思維習(xí)慣。就像在健身房增肌,需要持續(xù)不斷的訓(xùn)練才有顯著的效果,如果斷斷續(xù)續(xù)的訓(xùn)練,顯現(xiàn)效果需要很久。編程也是一樣,如果不持續(xù)不斷的訓(xùn)練,很難得到進(jìn)步。
所以初學(xué)代碼的童鞋注意啦!現(xiàn)在沒(méi)有編程技術(shù)不要著急,每天堅(jiān)持去寫,總有一天你會(huì)對(duì)代碼得心應(yīng)手的。
了解有關(guān)開(kāi)發(fā)環(huán)境的信息
選擇好IDE之后,就不要隨意變更了。要知道沒(méi)有十全十美的編輯器,精通一個(gè)即可,其他編輯器大同小異。學(xué)習(xí)版本控制,并對(duì)項(xiàng)目使用GIT進(jìn)行版本控制,養(yǎng)成這樣一種習(xí)慣。學(xué)習(xí)與虛擬環(huán)境和pip等程序包控制系統(tǒng)一起使用。
學(xué)通編程的基礎(chǔ)知識(shí)
往往最基礎(chǔ)的是最難的,很多資深的Python開(kāi)發(fā)者在面對(duì)大廠的面試時(shí)會(huì)敗下陣來(lái),究其原因就是對(duì)基礎(chǔ)的不重視。以下這些基礎(chǔ)一定要掌握:
了解線程,進(jìn)程的工作原理,以及他們?cè)赑ython中的弱點(diǎn);
了解解釋器,它們是如何實(shí)現(xiàn)的,為什么會(huì)有這么多不同的Python實(shí)現(xiàn)方式;
了解有關(guān)Python的生態(tài)信息,PIP,PEP8,setuptools,virtualenv等等;
了解socket,網(wǎng)絡(luò)庫(kù),異步功能等等。
寫在最后
當(dāng)然啦,學(xué)習(xí)是一個(gè)循序漸進(jìn)的過(guò)程,雖然我們都希望自己快速提升自己的代碼能力,但也要注意做好“沉淀”工作。閑暇之余,我們可以把自己最近的心得體會(huì)做一個(gè)小結(jié),發(fā)到技術(shù)網(wǎng)站或者論壇,與技術(shù)大神做一個(gè)交流。
另外,也可以通過(guò)多提問(wèn)的方式,拓寬自己的眼界,使自己成為一名更好的開(kāi)發(fā)工程師~
(責(zé)任編輯:代碼如詩(shī)) |