Python 的優雅技巧

發表於2016-06-13

列舉

不要這麼做:

而是這樣:

Enumerate可以接受第二個引數,例如:

字典/集合 解析

你可能知道列表解析,但不知道字典/集合解析。字典/集合解析簡單而且高效,例如:

強制浮點數除法

如果我們除以一個整數,即使結果是一個浮點數,Python(2) 依舊會給我們一個整數。為了規避這個問題,我們需要這樣做:

但是現在有一種別的方法可以解決這個問題,甚至在之前我都沒有意識到有這種方法存在。你可以進行如下操作:

需要注意的是這個竅門只適用於Python 2。在Python 3 中就不需要進行import 操作了,因為它已經預設進行import了。

簡單的伺服器

你想快速簡單的分享目錄下的檔案嗎?可以這樣做:

這回啟動一個伺服器

簡單的伺服器

我們都知道eval,但也許並不是所有人都知道literal_eval.可以這麼做:

而不是這樣:

我相信對於大多數人來說這種形式是第一次看見,但是實際上這個在Python中已經存在很長時間了。

分析指令碼

按下面的方式執行指令碼,可以很簡單的對其進行分析:

物件自檢

在Python中,可以通過dir()來檢查物件,例如:

除錯指令碼

你可以使用pdb模組在指令碼中設定斷點來除錯指令碼,就像這樣:

你可以在指令碼的任何地方加入pdb.set_trace(),該函式會在那個位置設定一個斷點。超級方便。你應該多閱讀pdb 函式的相關內容,因為在它裡面還有很多鮮為人知的功能。

簡化if結構

如果必須檢查一些值,可以用

而不是用複雜的if結構:

字串/數列 逆序

下面的方式可以快速反轉一個列表:

這種方式同樣適用於字串:

優雅地列印

下面的方式可以用優雅的方式列印字典和列表:

這用於字典列印是非常高效的,如果你想從檔案中快速優雅的列印出json,可以這樣做:

三元運算

三元運算是if-else 語句的快捷操作,也被稱為條件運算。這裡有幾個例子可以供你參考:

相關文章