細數10個隱藏在Python中的彩蛋,python彩蛋

來源:互聯網
上載者:User

細數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萬!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.