<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>

          Python語言強制縮進是敗筆?

          共 1100字,需瀏覽 3分鐘

           ·

          2021-06-23 23:44


          好家伙,這個問題還是被人拿出來討論了。


          我第一次接觸的Python的時候,發(fā)現(xiàn)代碼塊之間竟然是用縮進來區(qū)分的,一時間還難以適應(yīng)。


          不過寫了幾十行代碼后很快就適應(yīng)了,還覺得用縮進有那么點獨特性


          因為強制縮進的話,代碼寫完后天然地就是排版好的。不需要刻意做格式化處理。我記得剛開始寫python代碼用的是vim。


          用的vim的都是知道,學(xué)習(xí)曲線非常陡,想打造出一個IDE,需要花很多精力。而用來寫python就很適合了,寫完之后,代碼非常工整。


          P被問到為什么要強制縮進時,Python之父,Guido van Rossum當(dāng)時是這么說的:


          這種強制縮進,并不是什么新概念。當(dāng)年我在 CWI 使用 ABC 語言編程的時候,人家就這么干的。我從 ABC 語言中繼承了這個概念。不過 occam 這種很古老的語言也是用了這種方式,我不知道他們是誰先采用的,也許都是獨創(chuàng)。這種思想也可能出自 Don Knuth(高德納,著名計算機科學(xué)家,經(jīng)典巨著《計算機程序設(shè)計藝術(shù)》的作者),他早在 1974 年就提出過這種做法。


          Python繼承自ABC語言,至于ABC為啥要采用縮進的方式來分隔代碼塊。個人覺得并不是什么口味問題,而是出于當(dāng)時的時代原因。


          Python誕生于 1989年,ABC就更早了。那時候也沒有什么IDE,Python的設(shè)計目標是一門簡潔易用具備可讀性的語言,而用強制縮進,確實可以讓代碼的可讀性更高。當(dāng)然,強制用縮進也少了左花括號到底要不要換行的爭論。


          如果放在今天,按我個人的口味來的話,我更傾向于{}來區(qū)分代碼塊。畢竟現(xiàn)在的計算機性能已經(jīng)今非昔比。IDE的智能化已經(jīng)很很好的處理代碼格式問題了。


          反而用空格我得小心翼翼生怕多敲了一個空格,空格與tab的混用也使得在不同運行環(huán)境中出問題,這個問題對初學(xué)者來說尤為明顯。


          強制縮進與{}兩者的優(yōu)劣誰也爭不出個輸贏,純粹就是個人口味問題。把更多時間用來怎么除去代碼的“壞味道”才是正事。


          - EOF -


          推薦閱讀:


          我為大家整理了一份從入門到進階的Python學(xué)習(xí)資料禮包,包含學(xué)習(xí)建議:入門看什么,進階看什么。關(guān)注公眾號 「python之禪」,回復(fù) ebook 獲??;還可以回復(fù)「進群」,和10w+ pythonista 交流學(xué)習(xí)。
          瀏覽 34
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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天天操 少妇 后入 视频 少妇精品一区二区 | 99热这里没有精品 |