創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序設(shè)計(jì)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了臨夏免費(fèi)建站歡迎大家使用!這篇文章將為大家詳細(xì)講解有關(guān)寫出優(yōu)雅的python小技巧,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
在Python社區(qū)文化的澆灌下,演化出了一種獨(dú)特的代碼風(fēng)格,去指導(dǎo)如何正確地使用Python,這就是常說(shuō)的pythonic。一般說(shuō)地道(idiomatic)的python代碼,就是指這份代碼很pythonic。pythonic的代碼簡(jiǎn)練,明確,優(yōu)雅,絕大部分時(shí)候執(zhí)行效率高。閱讀pythonic
的代碼能體會(huì)到“代碼是寫給人看的,只是順便讓機(jī)器能運(yùn)行”暢快。
那么如何寫出優(yōu)雅的python代碼呢?下面的內(nèi)容或許會(huì)對(duì)你有幫助
遍歷一個(gè)范圍內(nèi)的數(shù)字
for i in [0, 1, 2, 3, 4, 5]: print i ** 2 for i in range(6): print i ** 2
更好的方法
for i in xrange(6): print i ** 2
xrange會(huì)返回一個(gè)迭代器,用來(lái)一次一個(gè)值地遍歷一個(gè)范圍。這種方式會(huì)比range更省內(nèi)存。xrange在Python 3中已經(jīng)改名為range。
遍歷一個(gè)集合
colors = ['red', 'green', 'blue', 'yellow'] for i in range(len(colors)): print colors[i]
更好的方法
for color in colors: print color
反向遍歷
colors = ['red', 'green', 'blue', 'yellow'] for i in range(len(colors)-1, -1, -1): print colors[i]
更好的方法
for color in reversed(colors): print color
遍歷一個(gè)集合及其下標(biāo)
colors = ['red', 'green', 'blue', 'yellow'] for i in range(len(colors)): print i, '--->', colors[i]
更好的方法
for i, color in enumerate(colors): print i, '--->', color
這種寫法效率高,優(yōu)雅,而且?guī)湍闶∪ビH自創(chuàng)建和自增下標(biāo)。
當(dāng)你發(fā)現(xiàn)你在操作集合的下標(biāo)時(shí),你很有可能在做錯(cuò)事。
遍歷兩個(gè)集合
names = ['raymond', 'rachel', 'matthew'] colors = ['red', 'green', 'blue', 'yellow'] n = min(len(names), len(colors)) for i in range(n): print names[i], '--->', colors[i] for name, color in zip(names, colors): print name, '--->', color
更好的方法
for name, color in izip(names, colors): print name, '--->', color
關(guān)于寫出優(yōu)雅的python小技巧就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。