30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

1.直接交換2個數字的位置

Python 提供了一種直觀的方式在一行代碼中賦值和交換(變量值)。以下所示:程序員

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

在上面代碼中,賦值的右側造成了一個新元組,而左側則馬上將該(未被引用的)元組解包到名稱<a>和<b>。編程

待賦值完成後,新元組就變成了未被引用狀態,而且被標爲可被垃圾回收,最終也就發生了數字交換。服務器

2.連接比較操做符

比較運算符的聚合是另外一種有時用起來很順手的技巧。編程語言

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

3.使用三元操做符進行條件賦值

三元操做符是 if-else 語句(也就是條件操做符)的快捷操做函數

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

下面舉兩個例子例子,展現一下能夠用這種技巧讓你的代碼更緊湊更簡潔。性能

下面的語句意思是「若是 y 爲 9,就向 x 賦值 10,不然向 x 賦值 20」。若是須要,咱們能夠擴展這個操做符連接:學習

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

一樣,咱們對類對象也能夠這樣操做:測試

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

在上面這個例子中,classA 與 classB 是兩個類,其中一個類構造函數會被調用。spa

4.使用多行字符串

這個方法就是使用源自 C 語言的反斜槓:3d

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

另外一個技巧就是用三引號:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

上述方法的一個常見問題就是缺乏合適的縮進,若是咱們想縮進,就會在字符串中插入空格。

因此最終的解決方案就是將字符串分紅多行,並將整個字符串包含在括號中:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

5.將一個列表的元素保存到新變量中

咱們能夠用一個列表來初始化多個變量,在解析列表時,變量的數量不該超過列表中的元素數量,不然會報錯。

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

6.打印出導入的模塊的文件路徑

若是你想知道代碼中導入的模塊的絕對路徑,用下面這條技巧就好了:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

7.使用交互式「_」操做符

其實這是個至關有用的功能,只是咱們不少人並無注意到。

在 Python 控制檯中,每當咱們測試一個表達式或調用一個函數時,結果都會分配一個臨時名稱,_(一條下劃線)。

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

這裏的「_」是上一個執行的表達式的結果。

推薦下小編的Python學習q u n 227-435-450,無論你是小白仍是大牛,小編我都歡迎,不按期分享乾貨,包括小編本身整理的一份2018最新的Python資料和0基礎入門教程,歡迎初學和進階中的小夥伴。在不忙的時間我會給你們解惑。

8.字典/集合推導

就像咱們使用列表表達式同樣,咱們也可使用字典/集合推導。很是簡單易用,也頗有效,示例以下:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

注意:在這兩個語句中,<:>只有一處差別。另外,若是想用 Python3 運行以上代碼,要把 <xrange> 替換爲 <range>。

9.調試腳本

咱們能夠藉助 <pdb> 模塊在 Python 腳本中設置斷點,以下所示:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

咱們能夠在腳本的任意位置指定<pdb.set_trace()> ,而後在那裏設置一個斷點,很是方便。

10.設置文件分享

Python 能讓咱們運行 HTTP 服務器,能夠用於分享服務器根目錄中的文件。啓動服務器的命令以下:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

上述命令會在默認端口 8000 啓動一個服務器,你也可使用自定義端口,將端口做爲最後元素傳入上述命令中便可。

11.在Python中檢查對象

咱們能夠經過調用 dir() 方法在 Python 中檢查對象,下面是一個簡單的例子:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

12.簡化if語句

咱們能夠經過以下方式來驗證多個值:

if m in [1,3,5,7]:

而不用這樣:

if m==1 or m==3 or m==5 or m==7:

對於in操做符,咱們也能夠用‘{1,3,5,7}’而不是‘[1,3,5,7]’,由於‘set’能夠經過O(1)獲取每一個元素。

13.在運行時檢測Python的版本

有時若是當前運行的 Python 低於支持版本時,咱們可能不想執行程序。那麼就能夠用下面的代碼腳本檢測 Python 的版本。還能以可讀格式打印出當前所用的 Python 版本。

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

另外,你能夠將上面代碼中的 sys.hexversion!= 50660080 替換爲 sys.version_info >= (3, 5)。

在 Python 2.7 中運行輸出爲:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

在Python 3.5中運行輸出爲:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

14.組合多個字符串

若是你想拼接列表中的全部 token,那麼看看下面的例子就明白了:

>>> test = ['I', 'Like', 'Python', 'automation']

如今咱們從上面列表的元素中建立一個字符串:

>>> print ''.join(test)

15.翻轉字符串/列表的4種方式

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

咱們會獲得結果「nohtyP tseT」。

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

上面的命令會獲得輸出結果 [5, 3, 1]。

16.使用枚舉

使用枚舉能夠很容易地在循環中找到索引:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

17.在 Python 中使用枚舉量

咱們能夠用以下方法來建立枚舉定義:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

18.從函數中返回多個值

支持這種功能的編程語言並很少,然而,Python 中的函數能夠返回多個值。

能夠參考下面的例子看看是怎麼作到的:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

19.使用*運算符解壓縮函數參數

*運算符提供了一種很藝術的方式來解壓縮參數列表,參看以下示例:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

20.使用字典來存儲表達式

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

21.一行代碼計算任何數字的階乘

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

22.找到一個列表中的出現最頻繁的值

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

23.重置遞歸限制

Python 將遞歸限制到 1000,咱們能夠重置這個值:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

提示:在有必要時才使用該技巧。

24.檢查一個對象的內存使用

在 Python 2.7 中,一個 32-bit 的整數值會佔用 24 字節,而在 Python 3.5 中會佔用 28 字節。咱們能夠調用<getsizeof> 方法來驗證內存使用。

在 Python 2.7 中:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

在 Python 3.5 中:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

25.使用_slots_減小內存消耗

不知道你是否注意過你的 Python 程序會佔用不少資源,特別是內存?這裏分享給你一個技巧,使用 <__slots__> 類變量來減小程序的內存消耗。

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

很明顯,從解僱中能夠看到節省了一些內存。可是應當在一個類的內存佔用大得沒有必要時再使用這種方法。對應用進行性能分析後再使用它,否則除了會讓代碼難以改動外沒有什麼好處。

26.使用拉姆達來模仿輸出方法

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

27.從兩個相關序列中建立一個字典

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

28.用一行代碼搜索字符串的先後綴

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

29.不使用任何循環,構造一個列表

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

若是輸入列表中有嵌入的列表或元組做爲元素,那麼就使用下面這種方法,不過也有個侷限,它使用了 for 循環:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

30.在Python中實現一個真正的switch-case語句

下面是使用字典模仿一個 switch-case 構造的代碼示例:

30個Python程序員須要知道的編程技巧,可讓你的工做事半功倍!

 

結語

但願上面列出的這些 Python 技巧和建議能幫你快速和高效地完成 Python 開發,能夠在項目中應用它們。歡迎留言評論!

相關文章
相關標籤/搜索