色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

關于python,有哪些實用的知識點或者小技巧?

錢諍諍2年前12瀏覽0評論

本文邀請pany來回答,以下是他基于工作經驗羅列出來的關于python的一些實用知識點和小技巧,希望對你有所幫助~

文章不旨在概念的介紹和深挖,或者酷炫的第三方庫介紹。更多是站在實用性角度簡明快速羅列自認為頗為有用的知識點或者技巧。為提高代碼的效率或可讀性,便利性等添磚加瓦。經驗之談,歡迎交流和拍磚。

字符串

字符拼接,join。

這里需要強調下,任何字符相關的可迭代對象都可以使用join。除了set,tuple外,類句柄對象同樣可以使用join。

關鍵字格式化

除了我們常用的%s進行格式化外,其實還可以按照關鍵字格式化,對于比較多變量時的情況,有利于提高代碼的可讀性。

當然format可以類似地

行分割

字符分隔

split(rsplit)其實時有第二個參數的,表示按順序分隔幾次,類似‘指定數目的非貪婪分隔’

內容重復的字符串

多行縮進處理

標準庫的textwrap.dedent可以刪除源文本中各行行首的共同縮進部分

標準庫textwrap還有其他一些方法處理文本格式,例如fill設定行寬度和首行縮減,indent添加行前綴等等。

字典

setdefault

給字典設置(增加)新的鍵,存在就不設置(獲取當前key對應的值),不存在就設置并返回當前key對應的值

update,更新字典

fromkeys(seq[,value])

創建一個新字典,序列seq的元素為鍵,value為字典所有鍵對應的初始值(不指定為None)。

類似的功能其實也可以通過defaultdict來實現,后面會舉例。

標準庫collections的defaultdict和OrderedDict

defaultdict類接受一個類型作為參數,當所訪問的鍵不存在的時候,可以實例化一個指定類型空值作為默認值

統計詞頻

defaultdict類還使用任何不帶參的函數,該函數的返回值作為默認值,這樣可以實現多層key默認值的指定。

所以defaultdict可以覆蓋setdefault的使用場景,人傾向使用defaultdict,更加方便簡潔

模仿fromkeys

OrderedDict

python的字典是無序的,OrderedDict可以保留key的順序信息

OrderedDict的Key會按照插入的順序排列

json化后可以保留順序

列表

生成式

生成式中的判斷

生成式多層嵌套

但是多層生成式不推薦過度使用,可能會導致可讀性更差。列表的索引有不少靈活的用法:

元素重復的序列

*運算符可生成元素重復的序列

在for循環中一同拿到索引和元素

其實enumerate函數的可使用范圍也包括所有的可迭代對象

例如文件句柄

在列表中查找

除了使用index()方法返回查找元素的索引外。對于復雜點的元素可以使用生成器及其next方法

Set

集合生成式

實際上{1,2,3}相當于set([1,2,3])

set支持leninjoin

刪除元素:remove和discard

二者的區別在于,如果被指定刪除的不存在時remove會拋出KeyError異常,而discard則不會

對集合添加多項

集合運算

推薦使用運算符而不是set方法函數,運算符看起來更簡潔,有更好的可讀性

如果讀完此文對你有幫助,請點個贊或者轉發讓更多人知道哦~