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