GitHub 標(biāo)星 1.8w+:What the fuck Python?!
“
關(guān)于項(xiàng)目
項(xiàng)目的主體構(gòu)成部分就是示例,一共分為 5 個(gè)部分,分別是:Strain your brain!/ 大腦運(yùn)動(dòng)!
Appearances are deceptive!/ 外表是靠不住的!
Watch out for the landmines!/ 小心地雷!
The Hidden treasures!/ 隱藏的寶藏!
Miscellaneous / 雜項(xiàng)
以上,總計(jì) 51 個(gè)示例。每一個(gè)示例的結(jié)構(gòu)都是一樣的,以 “Mutating the immutable!/ 強(qiáng)人所難” 為例:首先,會(huì)給出代碼:
GitHub 上的介紹稱,在深度學(xué)習(xí)和去中心化應(yīng)用方面是一個(gè) “老司機(jī)”。傳送門
中文版:
https://github.com/leisurelicht/wtfpython-cn英文原版:
https://github.com/satwikkansal/wtfpython
閱讀本文大概需要 5 分鐘。
關(guān)于項(xiàng)目項(xiàng)目的主體構(gòu)成部分就是示例,一共分為 5 個(gè)部分,分別是:Strain your brain!/ 大腦運(yùn)動(dòng)!
Appearances are deceptive!/ 外表是靠不住的!
Watch out for the landmines!/ 小心地雷!
The Hidden treasures!/ 隱藏的寶藏!
Miscellaneous / 雜項(xiàng)
以上,總計(jì) 51 個(gè)示例。每一個(gè)示例的結(jié)構(gòu)都是一樣的,以 “Mutating the immutable!/ 強(qiáng)人所難” 為例:首先,會(huì)給出代碼:some_tuple?=?("A",?"tuple",?"with",?"values")然后,給出 Output( Python version):
another_tuple?=?([1,?2],?[3,?4],?[5,?6])
>>>?some_tuple[2]?=?"change?this"然后,對(duì)意外輸出的結(jié)果進(jìn)行簡(jiǎn)短的描述,在這個(gè)示例中,就是:
TypeError:?'tuple'?object?does?not?support?item?assignment
>>>?another_tuple[2].append(1000)?#?這里不出現(xiàn)錯(cuò)誤
>>>?another_tuple
([1,?2],?[3,?4],?[5,?6,?1000])
>>>?another_tuple[2]?+=?[99,?999]
TypeError:?'tuple'?object?does?not?support?item?assignment
>>>?another_tuple
([1,?2],?[3,?4],?[5,?6,?1000,?99,?999])
我還以為元組是不可變的呢…接下來,就會(huì)對(duì)示例進(jìn)行說明,簡(jiǎn)要敘述發(fā)生了什么以及為什么會(huì)發(fā)生。如有必要,也會(huì)舉例說明。在這個(gè)示例中是這樣的:
引用
https://docs.python.org/2/reference/datamodel.html
不可變序列 不可變序列的對(duì)象一旦創(chuàng)建就不能再改變。(如果對(duì)象包含對(duì)其他對(duì)象的引用,則這些其他對(duì)象可能是可變的并且可能會(huì)被修改;但是,由不可變對(duì)象直接引用的對(duì)象集合不能更改。)
+= 操作符在原地修改了列表。元素賦值操作并不工作,但是當(dāng)異常拋出時(shí),元素已經(jīng)在原地被修改了。
對(duì)于不可變對(duì)象,這里指 tuple, += 并不是原子操作,而是 extend 和 = 兩個(gè)動(dòng)作,這里 = 操作雖然會(huì)拋出異常,但 extend 操作已經(jīng)修改成功了。其他還有 50 個(gè)示例,等你來看~怎么使用?當(dāng)然,要學(xué)習(xí)一下怎么使用這個(gè)資源。項(xiàng)目貢獻(xiàn)者在用法部分表示,最好依次閱讀下面的示例。然后,在閱讀每一個(gè)示例的時(shí)候,這樣做:
仔細(xì)閱讀設(shè)置例子最開始的代碼。閱讀輸出結(jié)果。確認(rèn)結(jié)果是否如你所料。確認(rèn)你是否知道這背后的原理。如果不知道,深呼吸然后閱讀說明 (如果你還是看不明白,別沉默!可以提問題)。如果知道,給自己點(diǎn)獎(jiǎng)勵(lì),然后去看下一個(gè)示例。此外,還可以在命令行閱讀 WTFpython,有 pypi 包 和 npm 包 (支持代碼高亮),不過都是英文版的。關(guān)于作者這個(gè)項(xiàng)目的原作者,是一個(gè)名為 Satwik Kansal 的印度小哥。
GitHub 上的介紹稱,在深度學(xué)習(xí)和去中心化應(yīng)用方面是一個(gè) “老司機(jī)”。傳送門中文版:
https://github.com/leisurelicht/wtfpython-cn英文原版:
https://github.com/satwikkansal/wtfpython
推薦閱讀
1
2
別再造假數(shù)據(jù)了,來試試 Faker 這個(gè)庫吧!
3
200 行代碼實(shí)現(xiàn)一個(gè)滑動(dòng)驗(yàn)證碼
4??
如何用一條命令將網(wǎng)頁轉(zhuǎn)成電腦 App
評(píng)論
圖片
表情
