當前位置:
首頁 > 科技 > 這個Python資源在GitHub上標星超8000,現在被翻譯成了中文

這個Python資源在GitHub上標星超8000,現在被翻譯成了中文

乾明 編輯整理

量子位 出品 | 公眾號 QbitAI

最近,GitHub上一個關於Python的工程完工了。

一個名為「暮晨」的貢獻者,把一個非常有趣的Python項目,翻譯成了中文版。

這個項目是《What the f*ck Python!》,專門介紹 Python 裡面那些奇奇怪怪的語言坑。

關於項目

項目的主體構成部分就是示例,一共分為5個部分,分別是:

Strain your brain!/大腦運動!

Appearances are deceptive!/外表是靠不住的!

Watch out for the landmines!/小心地雷!

The Hidden treasures!/隱藏的寶藏!

Miscellaneous/雜項

以上,總計51個示例。

每一個示例的結構都是一樣的,以「Mutating the immutable!/強人所難」為例:

首先,會給出代碼:

然後,給出Output( Python version):

然後,對意外輸出的結果進行簡短的描述,在這個示例中,就是:

我還以為元組是不可變的呢…

接下來,就會對示例進行說明,簡要敘述發生了什麼以及為什麼會發生。如有必要, 也會舉例說明。

在這個示例中是這樣的:

引用

https://docs.python.org/2/reference/datamodel.html

不可變序列 不可變序列的對象一旦創建就不能再改變。(如果對象包含對其他對象的引用,則這些其他對象可能是可變的並且可能會被修改; 但是,由不可變對象直接引用的對象集合不能更改。)

+= 操作符在原地修改了列表. 元素賦值操作並不工作, 但是當異常拋出時, 元素已經在原地被修改了。

有些地方,貢獻者還會給出譯註,比如整個示例中就是:

對於不可變對象, 這裡指tuple, +=並不是原子操作, 而是extend和=兩個動作, 這裡=操作雖然會拋出異常, 但 extend 操作已經修改成功了。

其他還有50個示例,等你來看~

怎麼使用?

當然,要學習一下怎麼使用這個資源。項目貢獻者在用法部分表示,最好依次閱讀下面的示例。

然後,在閱讀每一個示例的時候,這樣做:

仔細閱讀設置例子最開始的代碼。

閱讀輸出結果。

確認結果是否如你所料。

確認你是否知道這背後的原理。

如果不知道, 深呼吸然後閱讀說明 (如果你還是看不明白, 別沉默!可以提問題)。

如果知道, 給自己點獎勵, 然後去看下一個示例。

此外,還可以在命令行閱讀 WTFpython,有 pypi 包 和 npm 包(支持代碼高亮),不過都是英文版的。

關於作者

這個項目的原作者,是一個名為Satwik Kansal的印度小哥。

GitHub上的介紹稱,在深度學習和去中心化應用方面是一個「老司機」。

目前,英文版資源,標星已經8.3k了。

傳送門

中文版:

https://github.com/leisurelicht/wtfpython-cn

英文原版:

https://github.com/satwikkansal/wtfpython

年度評選申請

加入社群

量子位AI社群開始招募啦,歡迎對AI感興趣的同學,在量子位公眾號(QbitAI)對話界面回復關鍵字「交流群」,獲取入群方式;

此外,量子位專業細分群(自動駕駛、CV、NLP、機器學習等)正在招募,面向正在從事相關領域的工程師及研究人員。

進專業群請在量子位公眾號(QbitAI)對話界面回復關鍵字「專業群」,獲取入群方式。(專業群審核較嚴,敬請諒解)

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 量子位 的精彩文章:

從贏智力問答到助智能醫生:IBM Watson現在在中國怎麼樣了?
星際2新智能體開源:單機並行能力強,適應環境廣,個人可訓練

TAG:量子位 |