1 回答

TA貢獻(xiàn)4條經(jīng)驗(yàn) 獲得超14個贊
我們都說Python語法優(yōu)雅,簡潔。但事實(shí)上,很多同學(xué)學(xué)習(xí)Python后寫出來的代碼并沒有
體現(xiàn)出Python的特性來。這個回答并不打算教條式的告訴大家,要寫出代碼基本功很重要。
這是非常正確的廢話。那么我推薦幾個Python里的好東東,大家在寫Python代碼時可以有意識的
使用一下。
1. 列表推導(dǎo)式。絕對的Python特色,可以把復(fù)雜的for循環(huán)簡化到1行代碼中。但使用列表推導(dǎo)式時
需要注意,不要列表推導(dǎo)式中嵌套列表推導(dǎo)式。如果你實(shí)在是代碼復(fù)雜,那么可以封裝一個函數(shù),在列表推導(dǎo)式導(dǎo)出值時調(diào)用這個函數(shù)來處理。
2. 切片。對于list、tuple、str等數(shù)據(jù)結(jié)構(gòu),我們最常用的不是python的內(nèi)置函數(shù),而是切片獲取自己想要的數(shù)據(jù)。str[::-1],其實(shí)是創(chuàng)造一個和原字符串相反的字符串
3. with語句,也就是上下文管理器??梢詭椭阋苑浅:啙嵉拇a來關(guān)閉資源。
4. zip函數(shù)的應(yīng)用,如果你想同時操作兩個列表或者其他序列,zip函數(shù)尤其有用。
5. 三元表達(dá)式。嚴(yán)格來說,這不是Python所獨(dú)有的。但是,可以簡化if else到一行里,絕對是很棒的選擇。
6. 屬性@property的應(yīng)用。很多時候?qū)τ趯ο髞碚f,改變數(shù)據(jù)形態(tài),控制訪問權(quán)限最好的方法不是函數(shù),而是屬性。
7. 裝飾器。Python中的裝飾器五星推薦。裝飾器對于簡化代碼,解耦代碼有很好的作用。強(qiáng)烈推薦大家深入學(xué)習(xí)。
8. 當(dāng)然Pythonic風(fēng)格的代碼也要求有很強(qiáng)的代碼基本功?!洞a大全2》這本書強(qiáng)烈推薦。
添加回答
舉報