細數10個隱藏在Python中的彩蛋,python彩蛋
1Python中的“八榮八恥”
import this 中隱藏了一首《Python之禪》的詩,它是Python中的『八榮八恥』,作者是 Tim Peters ,每個有追求的Python程式員都應該謹記於心。
參考翻譯:
>>> import thisThe 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.分散勝於密集。Readability counts.可讀性應當被重視。Special cases aren’t special enough to break the rules. Although practicality beats purity.儘管實用性會打敗純粹性,特例也不能淩駕於規則之上。Errors should never pass silently. Unless explicitly silenced.除非明確地使其沉默,錯誤永遠不應該默默地溜走。In the face of ambiguity, refuse the temptation to guess.面對不明確的定義,拒絕猜測的誘惑。There should be one– and preferably only one –obvious way to do it.用一種方法,最好只有一種方法來做一件事。Although that way way not be obvious at first unless you’re Dutch.雖然一開始這種方法並不是顯而易見的,但誰叫你不是Python之父呢。Now is better than never. Although never is often better than right now.做比不做好,但立馬去做有時還不如不做。If the implementation is hard to explain, it’s a bad idea.如果實現很難說明,那它是個壞想法。If the implementation is easy to explain, it may be a good idea.如果實現容易解釋,那它有可能是個好想法。Namespaces are one honking great idea – let’s do more of those!命名空間是個絕妙的想法,讓我們多多地使用它們吧!
2enumerate函數用於遍曆列表中的元素以及它們的下標
3對預設實參要多加小心
相反,你應該使用一個標記值表示“無定義”,來替換“[]”。
4對於C系的那些更喜歡括弧而不是縮排的開發人員:
C++、Java編程中使用花括弧表示代碼塊,而 Python 社區卻給 C++ 一類程式員開了一個玩笑,braces 翻譯過來是「花括弧」的意思,匯入 braces 就可以使用花括弧,然而,Python 社區對此的真實態度是:沒門兒!
>>> from __future__ import braces
SyntaxError: not a chance
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
你可以用*或者**來取出列表或字典作為函數參數
8Exception else語句
使用“else”比在“try”語句中添加多餘的代碼更好,因為它避免了意外擷取不被try語句保護的異常…除了聲明之外。
9嵌套列表推導式和產生器運算式
這些語句可以取代大量的嵌套迴圈代碼塊
10使用re.DEBUG查看Regex的匹配過程
Regex是Python的一大特色,但是調試起來會很痛苦,很容易得出一個bug。幸運的是,Python可以列印出Regex的解析樹,通過re.debug來顯示re.compile的完整過程。
一旦你理解了文法,你就可以發現你的錯誤。在這裡我們可以看到[/font]忘了去除[]
粉絲福利:向公號後台回複以下文字獲得
回複:思維導圖 獲得Python學習必備思維導圖電子版
回複:量化交易 獲得量化投資編程課程與資料
回複:AI實驗 獲得20+開源小實驗,真槍實戰體驗AI之趣
回複:題庫 獲得人工智慧面試題庫,幫你順利拿到offer!
回複:資料集 獲得人工智慧1024G資料
3個月挑戰年薪30萬!