當前位置:
首頁 > 最新 > 純乾貨-超級實用的python小技巧

純乾貨-超級實用的python小技巧

鏈式比較操作

你可能認為它執行的過程先是:,返回,然後再比較,當然這麼做也是返回,比較表達式,因為解釋器會把轉換成,轉換成。但這裡的鏈式比較解釋器在內部並不是這樣乾的,它會把這種鏈式的比較操作轉換成:,不信你可以看看最後一個例子。這樣的鏈式操作本可以值得所有編程語言擁有,但是很遺憾

枚舉

用enumerate包裝一個可迭代對象,可以同時使用迭代項和索引,如果你不這麼乾的話,下面有一種比較麻煩的方法:

enumerate 還可以接收一個可選參數start,默認start等於0。,這樣index的起始值就是1

生成器對象

你可以把生成器對象賦值給x,意味著可以對x進行迭代操作:

它的好處就是不需要存儲中間結果,也許你會使用(列表推倒式):

它比生成器對象能帶來更快的速度。相對地,生成器更能節省內存開銷,它的值是按需生成,不需要像列表推倒式一樣把整個結果保存在內存中,同時它不能重新迭代,列表推倒式則不然。

iter()可接收callable參數

iter()內建函數接收的參數分為兩種,第一種是:

參數collection必須是可迭代對象或者是序列 ,第二種是:

callable函數會一直被調用,直到它的返回結果等於sentinel,例如:

小心可變的默認參數

取而代之的是你應該使用一個標記值表示「沒有指定」來替換可變值,如:

發送值到生成器函數在中

你可以:

如果你不喜歡使用空格縮進,那麼可以使用C語言花括弧{}定義函數:

>>>from__future__importbraces#這裡的braces 指的是:curly braces(花括弧)

File"",line1

SyntaxError:notachance

當然這僅僅是一個玩笑,想用花括弧定義函數?沒門。感興趣的還可以了解下:

不過這是python3裡面的特性

切片操作中的步長參數

還有一個特例:,反轉列表:

有關反轉,還有兩個函數reverse、reversed,reverse是list對象的方法,沒有返回值,而reversed是內建方法,可接收的參數包括tuple、string、list、unicode,以及用戶自定義的類型,返回一個迭代器。

裝飾器

裝飾器使一個函數或方法包裝在另一個函數裡頭,可以在被包裝的函數添加一些額外的功能,比如日誌,還可以對參數、返回結果進行修改。裝飾器有點類似Java中的AOP。下面這個例子是列印被裝飾的函數裡面的參數的裝飾器,

@是語法糖,它等價於:

for … else語法

else代碼塊會在for循環正常結束後執行,除非遇到break(就不會執行),它等價於下面:

不過這種語法看起來怪怪地,讓人感覺是else塊是在for語句塊沒有執行的時候執行的,很容易讓人去類比 if else 的語法,如果是把else換成finally或許更容易理解

python2.5有個方法

dict的子類如果定義了方法,如果key不再dict中,那麼d[key]就會調用方法,而且d[key]的返回值就是的返回值。

在collections模塊下有一個叫defaultdict的dict子類,它與missing非常類似,但是對於不存在的項不需要傳遞參數。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 python 的精彩文章:

Selenium中級篇之5-Python讀取配置文件內容
Python培訓必知 python老鳥才知道的那些事
深入理解 GIL:如何寫出高性能及線程安全的 Python 代碼
【快學Python3】解析器
2017 年最流行的 15 個數據科學 Python 庫

TAG:python |

您可能感興趣

photoshop的六個實用小技巧
6個超實用的iPhone功能和技巧
【Photoshop的小技巧】
使用chrome的小技巧
toString 小技巧
5個iPhone使用小技巧
iPhone X的使用技巧
必學的超實用Photoshop技巧方法&快捷鍵集
實用!3個Office通用的小技巧
Spring Cloud實戰小技巧必殺技
Python 中查詢 sqlite3 的一些小技巧
小技巧:Windows 10 Mobile中啟用Microsoft Edge PWA服務
簡單粗暴的iPhone實用技巧,全篇乾貨
簡單卻超實用的8個Excel小技巧!
3個實用Excel小技巧
分享下最實用的iphonex操作技巧,速入門玩轉iphoneX
簡單粗暴的iPhone實用技巧
photoshop新手必看的120條實用技巧!
npj Computational Materials:快速準確預測晶格熱導率的「小技巧」
iPhone原生應用技巧Ⅱ:3D touch還有這些冷門技巧!