<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          GitHub 標星 1.8w+:What the fuck Python?!

          共 1764字,需瀏覽 4分鐘

           ·

          2020-01-07 23:22

          閱讀本文大概需要 5 分鐘。


          轉自公眾號量子位,作者乾明一個名為 “暮晨” 的貢獻者,把一個非常有趣的 Python 項目,翻譯成了中文版。這個項目是《What the fuck Python!》,專門介紹 Python 里面那些奇奇怪怪的語言坑。5e10b66f6a32a58d610ac49230c04599.webp關于項目
          項目的主體構成部分就是示例,一共分為 5 個部分,分別是:Strain your brain!/ 大腦運動!5daee92d4cfffec54524a915799fa0d5.webpAppearances are deceptive!/ 外表是靠不住的!5464db7f7aa7f797dc038b44fdd3ea61.webpWatch out for the landmines!/ 小心地雷!b3d304403f701b60d1e9181cac0701c2.webpThe Hidden treasures!/ 隱藏的寶藏!5bc72ed98bae64052b72e6096901ff17.webpMiscellaneous / 雜項891be446bf659c3f78609b3184382653.webp以上,總計 51 個示例。每一個示例的結構都是一樣的,以 “Mutating the immutable!/ 強人所難” 為例:首先,會給出代碼:
          some_tuple?=?("A",?"tuple",?"with",?"values")
          another_tuple?=?([1,?2],?[3,?4],?[5,?6])
          然后,給出 Output( Python version):
          >>>?some_tuple[2]?=?"change?this"
          TypeError:?'tuple'?object?does?not?support?item?assignment
          >>>?another_tuple[2].append(1000)?#?這里不出現錯誤
          >>>?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])
          然后,對意外輸出的結果進行簡短的描述,在這個示例中,就是:
          我還以為元組是不可變的呢…
          接下來,就會對示例進行說明,簡要敘述發(fā)生了什么以及為什么會發(fā)生。如有必要,也會舉例說明。在這個示例中是這樣的:
          • 引用
            https://docs.python.org/2/reference/datamodel.html

          不可變序列 不可變序列的對象一旦創(chuàng)建就不能再改變。(如果對象包含對其他對象的引用,則這些其他對象可能是可變的并且可能會被修改;但是,由不可變對象直接引用的對象集合不能更改。)
          • += 操作符在原地修改了列表。元素賦值操作并不工作,但是當異常拋出時,元素已經在原地被修改了。

          有些地方,貢獻者還會給出譯注,比如整個示例中就是:
          對于不可變對象,這里指 tuple, += 并不是原子操作,而是 extend 和 = 兩個動作,這里 = 操作雖然會拋出異常,但 extend 操作已經修改成功了。
          其他還有 50 個示例,等你來看~怎么使用?當然,要學習一下怎么使用這個資源。項目貢獻者在用法部分表示,最好依次閱讀下面的示例。然后,在閱讀每一個示例的時候,這樣做:
          仔細閱讀設置例子最開始的代碼。閱讀輸出結果。確認結果是否如你所料。確認你是否知道這背后的原理。如果不知道,深呼吸然后閱讀說明 (如果你還是看不明白,別沉默!可以提問題)。如果知道,給自己點獎勵,然后去看下一個示例。
          此外,還可以在命令行閱讀 WTFpython,有 pypi 包 和 npm 包 (支持代碼高亮),不過都是英文版的。關于作者這個項目的原作者,是一個名為 Satwik Kansal 的印度小哥。b98c402d69e9e0ff8654e138adb93b53.webpGitHub 上的介紹稱,在深度學習和去中心化應用方面是一個 “老司機”。傳送門
          中文版:
          https://github.com/leisurelicht/wtfpython-cn英文原版:
          https://github.com/satwikkansal/wtfpython

          推薦閱讀

          1

          Python 中更優(yōu)雅的日志記錄方案

          2

          別再造假數據了,來試試 Faker 這個庫吧!

          3

          200 行代碼實現一個滑動驗證碼

          4??

          如何用一條命令將網頁轉成電腦 App


          好文和朋友一起看~
          瀏覽 68
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  啪啪啪av网站 | 影音先锋成人资源AV在线观看 | 婷婷色午夜 | 天天操天天操 | 日韩区一中文字幕a∨ |