国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

《Python之禪》中對(duì)于Python編程過(guò)程中的一些建議

2020-02-23 00:31:25
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

圍繞一門語(yǔ)言,學(xué)習(xí)它的文化精髓,能讓你成為一名更優(yōu)秀的程序員。如果你還沒(méi)讀過(guò)Python之禪(Zen of Python) ,那么打開(kāi)Python的命令提示符輸入import this,列表中的每一項(xiàng)你都可以在這里找到相對(duì)應(yīng)的例子。
吸引我注意力的一條是:

優(yōu)雅勝于丑陋 (Beautiful is better than ugly)

看下面例子:

一個(gè)帶有數(shù)字參數(shù)的list函數(shù)其功能是返回參數(shù)中的奇數(shù)可以分開(kāi)寫(xiě):
 

#----------------------------------------------------------------------- halve_evens_only = lambda nums: map(lambda i: i/2,/ filter(lambda i: not i%2, nums)) #-----------------------------------------------------------------------def halve_evens_only(nums):   return [i/2 for i in nums if not i % 2]

記住Python中那些非常簡(jiǎn)單的事

兩個(gè)變量的交換:
 

a, b = b, a

參數(shù)在切片操作中的步驟,如:
 

a = [1,2,3,4,5]>>> a[::2] # 以步長(zhǎng)為2的增量迭代整個(gè)list對(duì)象[1,3,5]

 一個(gè)特殊的例子 `x[::-1]`用來(lái)反轉(zhuǎn)x的實(shí)用語(yǔ)法。
 

>>> a[::-1] [5,4,3,2,1]

不要用可變對(duì)象作為默認(rèn)參數(shù)值(Don't use mutable as defaults)
 

def function(x, l=[]):     # 不要這么干def function(x, l=None):    # 更好的一種方式  if l is None:    l = []

使用iteritems而不是items

iteriterms 使用的是 generators,所以當(dāng)?shù)艽蟮男蛄惺谴朔椒ǜ?br /> 

d = {1: "1", 2: "2", 3: "3"} for key, val in d.items()    # 調(diào)用items()后會(huì)構(gòu)建一個(gè)完整的list對(duì)象 for key, val in d.iteritems()  # 只有在迭代時(shí)每請(qǐng)求一次才生成一個(gè)值

此情景和range與xrange的關(guān)系相似。

使用isinstance 而不是type

不要這樣做:
 

if type(s) == type(""): ...if type(seq) == list or /  type(seq) == tuple: ...

應(yīng)該是這樣:
 

if isinstance(s, basestring): ...if isinstance(seq, (list, tuple)): ...

至于為什么這樣做,看這里:http://stackoverflow.com/a/1549854/504262

需要注意的是這里使用basestring而不是str是因?yàn)槟憧赡軙?huì)用一個(gè)unicode對(duì)象去檢查是否為string,例如:
 

>>> a=u'aaaa'>>> print isinstance(a, basestring)True>>> print isinstance(a, str)False

因?yàn)樵赑ython中3.0以下的版本存在兩種字符串類型str和unicode

201543105902114.jpg (319×212)

學(xué)習(xí)各種集合(learn the various collections)

python有各種各樣的容器數(shù)據(jù)類型,在特定情況下選擇python內(nèi)建的容器如:list和dict。通常更多像如下方式使用:

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 尖扎县| 彰化市| 崇仁县| 阜南县| 德兴市| 安多县| 尚志市| 神木县| 昭苏县| 克什克腾旗| 富顺县| 铁力市| 龙里县| 宁城县| 雷波县| 杭锦后旗| 云安县| 吉林省| 龙南县| 汝阳县| 娱乐| 泽普县| 咸阳市| 福安市| 大渡口区| 张家川| 吉安县| 永昌县| 修武县| 德阳市| 保康县| 蛟河市| 利津县| 淳安县| 贡觉县| 纳雍县| 桑植县| 修武县| 容城县| 雅安市| 大新县|