精華技巧,學(xué)會(huì)這幾招可以假裝是Python高手
Python里面的技巧真的是太多了,菜鳥(niǎo)如何假裝自己的是高手呢,下面教大家?guī)渍锌焖僮兂衫纤緳C(jī)的招數(shù),尤其是在實(shí)戰(zhàn)的項(xiàng)目中,用上這幾招一定讓你周?chē)耐鹿文肯嗫?,哇這個(gè)代碼有兩把刷子。
1. 大量的if-else結(jié)構(gòu)
我們?cè)谄綍r(shí)項(xiàng)目的時(shí)候會(huì)經(jīng)常遇到大量的if/elif 這樣的情況,非常常見(jiàn),通常我的寫(xiě)法如下,比如一個(gè)每周上周的情況:
上面的代碼一來(lái)比較丑,二來(lái)擴(kuò)展性非常不好,如果我要把一周的排課的順序調(diào)整,需要對(duì)代碼的結(jié)構(gòu)做很大的調(diào)整。如果結(jié)構(gòu)再?gòu)?fù)雜一點(diǎn)的話更麻煩。
理想的情況是這樣,構(gòu)建一個(gè)一周的字典,用字典key來(lái)匹配:
代碼改寫(xiě)如下:
2. 類(lèi)的成員變量賦值
類(lèi)里面的變量的設(shè)計(jì)一定會(huì)分私有和公開(kāi)的,在一開(kāi)始設(shè)計(jì)的時(shí)候就需要考慮那些變量是要私有的,這在類(lèi)的內(nèi)部訪問(wèn),那些可以公開(kāi)。
上面這樣的設(shè)計(jì)很明顯是沒(méi)有任何保護(hù)的,好一點(diǎn)的設(shè)計(jì)應(yīng)該是這樣:
3. 清楚的異常聲明比含蓄的要好
實(shí)戰(zhàn)項(xiàng)目了遇到異常處理是非常常見(jiàn)的事情,我們很多初學(xué)者喜歡偷懶寫(xiě)成這樣,主要是圖省事:
一旦發(fā)生問(wèn)題,你不知道是什么異常導(dǎo)致的,很難定位!對(duì)于異常的處理,應(yīng)該盡量分一分類(lèi),這樣寫(xiě)會(huì)好一些:
4. 巧妙的利用yield
比如一個(gè)文件搜索程序,我們要搜索目錄下面所有文件包括子目錄里面的文件,怎么做呢:
傳統(tǒng)的做法是里面函數(shù)里面放一個(gè)列表來(lái)遞歸存儲(chǔ) 搜索的文件名,這樣的寫(xiě)法不錯(cuò),但是不是很老道,也不是很pythonic,有更簡(jiǎn)便的方法嗎,當(dāng)然有接著往下看這一招。
以上幾招非常實(shí)用,尤其是剛?cè)腴T(mén)的菜鳥(niǎo),在真實(shí)項(xiàng)目過(guò)程中如果能掌握就這幾招,應(yīng)用到項(xiàng)目里面,就可以依葫蘆畫(huà)瓢寫(xiě)出一些很Pythonic的代碼,迅速讓你的功力大增~~小伙伴還等啥,操練起來(lái)。