盤點十大隱藏在Python中的彩蛋

快樂鳥 8年前發布 | 12K 次閱讀 Python Python開發

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

正則表達式是Python的一大特色,但是調試起來會很痛苦,很容易得出一個bug。幸運的是,Python可以打印出正則表達式的解析樹,通過re.debug來顯示re.compile的完整過程。

一旦你理解了語法,你就可以發現你的錯誤。在這里我們可以看到[/font]忘了去除[]

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

3、對默認實參要多加小心

相反,你應該使用一個標記值表示“無定義”,來替換“[]”。

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裝飾器的用法:

7、取參的trick

你可以用*或者**來取出列表或字典作為函數參數

8、Exception else語句

使用“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 better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse

is

better than dense.

 

來自:http://developer.51cto.com/art/201612/523632.htm

 

 本文由用戶 快樂鳥 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!