Python 爲何拋棄累贅的花括號,使用縮進來劃分代碼塊?

你們好,這是「Python爲何」系列節目的文字稿(文末有觀看地址)。html

本期話題:Python 爲何使用縮進來劃分代碼塊,而不像其它語言使用花括號 {} 或者 「end」 之類的語法?python

Python 的縮進是一個老生常談的話題,常常有人會說起它,好比 Python 之父在上個月就剛好轉發過一篇文章:程序員

由於這篇文章,Guido 還受邀在 Python Bytes 播客上錄製了一期節目:web

那麼,Python 爲何要用縮進來劃分代碼塊呢?ide

我收集梳理了幾份材料,接下來將帶你們一塊兒揭曉 Python 這麼作的設計緣由:函數

  1. 縮進語法,更加優雅
  2. 縮進語法,更加清晰
  3. 使用縮進,保持一致性,避免形成誤讀
  4. 使用縮進,代碼更緊湊,便於瀏覽,沒有累贅
  5. 使用縮進,已足夠令解釋器執行,不必使用多餘的符號
  6. 強制縮進,源自古老的 ABC 語言,Guido 是這門語言的設計者之一
  7. 其思想可能出自 Don Knuth(高德納,著名計算機科學家,經典鉅著《計算機程序設計藝術》的做者),他在 1974 年提出,在當時是很時髦和前衛的思想
  8. 使用縮進,能夠終結大括號放在函數名後面仍是再換一行的終極爭論(聽說此話題能令不一樣派系的程序員大打出手!)

以上羅列的緣由主要來源於 Python 官方文檔、官方 wiki 以及 Python 之父的早期訪談。ui

總而言之,Python 使用縮進語法,體現了它很是優雅、清晰的設計美學,對開發者、讀者以及解釋器,都極爲友好。設計

實話說,我本人很是讚許 Python 的縮進,所以才第一眼就迷上了它,若是是使用了花括號之類的語法,那 Python 就頓時黯淡,也就食之無味了!3d

你們如何看待 Python 的縮進語法呢?請在評論區發表你的見解吧!視頻

參考材料:

一、Guido 發的 twitter:https://twitter.com/gvanrossum/status/1249549091584892928

二、Guido 轉發的關於縮進的文章:https://web.archive.org/web/20070922223915/http://www.secnetix.de/~olli/Python/block_indentation.hawk

三、Guido 做客 Python Bytes 播客節目,談論縮進話題:https://pythonbytes.fm/episodes/show/179/guido-van-rossum-drops-in-on-python-bytes

四、播客節目的視頻版:https://www.youtube.com/watch?v=PlvvVXeU0yw&feature=youtu.be

五、官方文檔對縮進的解釋:https://docs.python.org/3/faq/design.html#why-does-python-use-indentation-for-grouping-of-statements

六、官方早期 wiki 的解釋:https://wiki.python.org/moin/Why%20separate%20sections%20by%20indentation%20instead%20of%20by%20brackets%20or%20%27end%27

七、池建強老師 MacTalk 文章:https://mp.weixin.qq.com/s?__biz=MjM5ODQ2MDIyMA==&mid=2650715803&idx=1&sn=94cd823de3689f40d4ed4c541a1ee791

首發地址:https://mp.weixin.qq.com/s/byhJnKoKSDnhUNUE9WWopw

視頻地址:

一、B站:https://www.bilibili.com/video/BV1UT4y137Yv/

二、知乎:https://www.zhihu.com/zvideo/1242823762849959936

相關文章
相關標籤/搜索