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