首頁  >  文章  >  後端開發  >  使用Python中隱藏的10個彩蛋

使用Python中隱藏的10個彩蛋

高洛峰
高洛峰原創
2017-03-24 16:10:371686瀏覽

1、使用re.DEBUG查看正規表示式的匹配過程

正則表達式是Python的一大特色,但是調試起來會很痛苦,很容易得出一個bug。幸運的是,Python可以列印出正規表示式的解析樹,透過re.debug來顯示re.compile的完整過程。
使用Python中隱藏的10個彩蛋
一旦你了解文法,你就可以發現你的錯誤。這裡我們可以看到[/font]忘了去除[]

2、enumerate函數用於遍歷列表中的元素以及它們的下標


使用Python中隱藏的10個彩蛋

3、對預設實參要多加小心

使用Python中隱藏的10個彩蛋
相反,你應該使用一個標記值表示“無定義”,來替換“[]”。
使用Python中隱藏的10個彩蛋

4、對於C系的那些喜歡括號而不是縮排的開發者,你只需使用以下一條指令:

from __future__ import braces

5、切片操作中的tricks

a = [1,2,3,4,5] >>> a[::2] [1,3,5]
特殊的例子是x[::-1],它可以將列表反轉
>>> a[::-1] [5,4,3,2,1]

6、裝飾器

裝飾器實現了在一個函數中呼叫其它函數或方法來增加功能性,從而修改參數或結果等,在函數定義前加上裝飾器,只需一個“@”符號。
以下範例顯示了一個print_args裝飾器的用法:
使用Python中隱藏的10個彩蛋

7、取參的trick

你可以用*或**來取出清單或字典作為函數參數
使用Python中隱藏的10個彩蛋

8、Exception else語句

使用Python中隱藏的10個彩蛋
#使用「else」比在「try」語句中加入多餘的程式碼更好,因為它避免了意外獲取不被try語句保護的異常…除了聲明之外。

9、嵌套列表推導式與生成器表達式

[(i,j) for i in range(3) for j in range(i) ]    
#(( i,j) for i in range(4) for j in range(i) )
這些語句可以取代大量的巢狀循環程式碼區塊

10、主句式

import this
下面讓我們再誦讀一遍Python之禪的要義(The Zen of Python, by Tim Peters):
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is
Simple is better than implicit.
Simple is
Simple is better than implicit.

Simple is
Simple is better than。 better than complex.
Complex is better than complicated.

以上是使用Python中隱藏的10個彩蛋的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn