對(duì)于初學(xué)者而言,Python入門(mén)很簡(jiǎn)單。入門(mén)之后只靠基礎(chǔ)語(yǔ)法也完全可以做到平時(shí)寫(xiě)寫(xiě)腳本,解決自己工作、生活上的重復(fù)性勞動(dòng)。想要什么功能,基本上都能找到方便的庫(kù)。在只求應(yīng)用,不求理解的情況下,很快就能實(shí)現(xiàn)日常表格處理、文件下載、郵件發(fā)送等功能。甚至像圖像處理、OCR這樣“高端”的功能也有對(duì)應(yīng)的工具庫(kù)可以使用。
但是做到這種程度只是小打小鬧,想要真正的在開(kāi)發(fā)工作中使用Python語(yǔ)言,或者是在GitHub上貢獻(xiàn)開(kāi)源代碼,都是遠(yuǎn)遠(yuǎn)不夠的。這時(shí)候,初學(xué)者的常見(jiàn)問(wèn)題主要集中在以下四點(diǎn):
學(xué)會(huì)了語(yǔ)法,但是不會(huì)應(yīng)用。
仍然是用其他語(yǔ)言的邏輯在寫(xiě)Python代碼,不是Pythonic的代碼。
Python項(xiàng)目結(jié)構(gòu)不合理。
缺少對(duì)更深入主題的研究,例如裝飾器、異常處理、多進(jìn)程多線(xiàn)程、設(shè)計(jì)模式等。
傳統(tǒng)建議的解決方案
對(duì)于已經(jīng)了解基礎(chǔ)語(yǔ)法,學(xué)習(xí)了Python基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)的初學(xué)者,傳統(tǒng)的建議是做項(xiàng)目、看源碼。這樣的建議不能說(shuō)不正確,但是在執(zhí)行起來(lái)會(huì)有各種各樣的問(wèn)題,從而導(dǎo)致學(xué)習(xí)效率低下。
首先聊一下做項(xiàng)目
對(duì)于初學(xué)者而言,應(yīng)聘到一個(gè)使用Python語(yǔ)言做開(kāi)發(fā)的團(tuán)隊(duì)顯然是不現(xiàn)實(shí)的。那么基本上項(xiàng)目的來(lái)源就是自己找的練手課題或者在GitHub上參與開(kāi)源項(xiàng)目。
自己找個(gè)項(xiàng)目進(jìn)行練手可以說(shuō)是效果最差的方式了。它實(shí)際上還是摸著石頭過(guò)河,接觸不到優(yōu)秀的源碼和實(shí)現(xiàn)方法,也沒(méi)有人指導(dǎo)。最終也只是實(shí)現(xiàn)了功能而已,不論是代碼設(shè)計(jì)還是項(xiàng)目結(jié)構(gòu),都是閉門(mén)造車(chē),提升有限。最大的作用也就是提高對(duì)語(yǔ)法、基本數(shù)據(jù)結(jié)構(gòu)和標(biāo)準(zhǔn)庫(kù)的熟練程度。
至于在GitHub上找項(xiàng)目,一般新手能夠找到的優(yōu)秀項(xiàng)目基本上都已經(jīng)過(guò)了初始階段。在這種情況下,對(duì)于初學(xué)者而言,加入維護(hù)的難度較大,能夠做的工作更多的只是一些小bug的發(fā)現(xiàn)和修復(fù),甚至于只能從文檔方面開(kāi)始。
然后聊一下看源碼
對(duì)于初學(xué)者而言,雖然直接看源碼復(fù)雜度較高,但是只要肯下功夫,用好搜索引擎,大部分功能性的源碼還是可以看懂的。不過(guò)如果沒(méi)有人指導(dǎo)的話(huà),效率肯定是不高的。同時(shí)很可能只是看懂邏輯,明白了功能如何實(shí)現(xiàn)。如果沒(méi)有一定的設(shè)計(jì)模式等知識(shí)的基礎(chǔ),難以發(fā)現(xiàn)和理解代碼的設(shè)計(jì)思路和原因。實(shí)際“看源碼”的作用就少了一半,得不到精華。
我的方法
我的方法也是從傳統(tǒng)的方法里面來(lái)的。說(shuō)白了就是自己受苦,自己從“低效”的“看源碼”和“做項(xiàng)目”的學(xué)習(xí)中,整理“高效”的干貨,挑選合適的源碼和項(xiàng)目,配上合適的講解,從而可以更好的被初學(xué)者接受,提高學(xué)習(xí)效率。
以上內(nèi)容為大家介紹了初學(xué)Python的常見(jiàn)問(wèn)題,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://www.dietsnews.net/