Python 為什么拋棄累贅的花括號(hào),使用縮進(jìn)來(lái)劃分代碼塊猎莲?

大家好绍弟,這是“Python為什么”系列節(jié)目的文字稿(文末有觀看地址)。

本期話題:Python 為什么使用縮進(jìn)來(lái)劃分代碼塊著洼,而不像其它語(yǔ)言使用花括號(hào) {} 或者 “end” 之類的語(yǔ)法樟遣?

Python 的縮進(jìn)是一個(gè)老生常談的話題,經(jīng)常有人會(huì)提及它身笤,比如 Python 之父在上個(gè)月就恰好轉(zhuǎn)發(fā)過(guò)一篇文章:

image

因?yàn)檫@篇文章豹悬,Guido 還受邀在 Python Bytes 播客上錄制了一期節(jié)目:

image
image

那么,Python 為什么要用縮進(jìn)來(lái)劃分代碼塊呢液荸?

我收集梳理了幾份材料瞻佛,接下來(lái)將帶大家一起揭曉 Python 這么做的設(shè)計(jì)原因:

image
  1. 縮進(jìn)語(yǔ)法,更加優(yōu)雅
  2. 縮進(jìn)語(yǔ)法娇钱,更加清晰
  3. 使用縮進(jìn)伤柄,保持一致性,避免造成誤讀
  4. 使用縮進(jìn)文搂,代碼更緊湊适刀,便于瀏覽,沒(méi)有累贅
  5. 使用縮進(jìn)煤蹭,已足夠令解釋器執(zhí)行笔喉,沒(méi)必要使用多余的符號(hào)
  6. 強(qiáng)制縮進(jìn),源自古老的 ABC 語(yǔ)言疯兼,Guido 是這門語(yǔ)言的設(shè)計(jì)者之一
  7. 其思想可能出自 Don Knuth(高德納然遏,著名計(jì)算機(jī)科學(xué)家,經(jīng)典巨著《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》的作者)吧彪,他在 1974 年提出待侵,在當(dāng)時(shí)是很時(shí)髦和前衛(wèi)的思想
  8. 使用縮進(jìn),可以終結(jié)大括號(hào)放在函數(shù)名后面還是再換一行的終極爭(zhēng)論(據(jù)說(shuō)此話題能令不同派系的程序員大打出手R搪恪)

以上羅列的原因主要來(lái)源于 Python 官方文檔秧倾、官方 wiki 以及 Python 之父的早期訪談。

image
image

總而言之傀缩,Python 使用縮進(jìn)語(yǔ)法那先,體現(xiàn)了它非常優(yōu)雅、清晰的設(shè)計(jì)美學(xué)赡艰,對(duì)開(kāi)發(fā)者售淡、讀者以及解釋器,都極為友好。

實(shí)話說(shuō)揖闸,我本人非常贊許 Python 的縮進(jìn)揍堕,因此才第一眼就迷上了它,如果是使用了花括號(hào)之類的語(yǔ)法汤纸,那 Python 就頓時(shí)黯淡衩茸,也就食之無(wú)味了!

大家如何看待 Python 的縮進(jìn)語(yǔ)法呢贮泞?請(qǐng)?jiān)谠u(píng)論區(qū)發(fā)表你的看法吧楞慈!

參考材料:

1、Guido 發(fā)的 twitter:https://twitter.com/gvanrossum/status/1249549091584892928

2啃擦、Guido 轉(zhuǎn)發(fā)的關(guān)于縮進(jìn)的文章:https://web.archive.org/web/20070922223915/http://www.secnetix.de/~olli/Python/block_indentation.hawk

3囊蓝、Guido 作客 Python Bytes 播客節(jié)目,談?wù)摽s進(jìn)話題:https://pythonbytes.fm/episodes/show/179/guido-van-rossum-drops-in-on-python-bytes

4议惰、播客節(jié)目的視頻版:https://www.youtube.com/watch?v=PlvvVXeU0yw&feature=youtu.be

5慎颗、官方文檔對(duì)縮進(jìn)的解釋:https://docs.python.org/3/faq/design.html#why-does-python-use-indentation-for-grouping-of-statements

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

7言询、池建強(qiáng)老師 MacTalk 文章:https://mp.weixin.qq.com/s?__biz=MjM5ODQ2MDIyMA==&mid=2650715803&idx=1&sn=94cd823de3689f40d4ed4c541a1ee791

首發(fā)地址:https://mp.weixin.qq.com/s/byhJnKoKSDnhUNUE9WWopw

視頻地址:

1俯萎、B站:https://www.bilibili.com/video/BV1UT4y137Yv/

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末运杭,一起剝皮案震驚了整個(gè)濱河市夫啊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌辆憔,老刑警劉巖撇眯,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異虱咧,居然都是意外死亡熊榛,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門腕巡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)玄坦,“玉大人,你說(shuō)我怎么就攤上這事绘沉〖彘梗” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵车伞,是天一觀的道長(zhǎng)择懂。 經(jīng)常有香客問(wèn)我,道長(zhǎng)另玖,這世上最難降的妖魔是什么困曙? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任表伦,我火速辦了婚禮,結(jié)果婚禮上赂弓,老公的妹妹穿的比我還像新娘绑榴。我一直安慰自己哪轿,他們只是感情好盈魁,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著窃诉,像睡著了一般杨耙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上飘痛,一...
    開(kāi)封第一講書(shū)人閱讀 49,007評(píng)論 1 284
  • 那天珊膜,我揣著相機(jī)與錄音,去河邊找鬼宣脉。 笑死车柠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的塑猖。 我是一名探鬼主播竹祷,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼羊苟!你這毒婦竟也來(lái)了塑陵?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蜡励,失蹤者是張志新(化名)和其女友劉穎令花,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體凉倚,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡兼都,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了稽寒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扮碧。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖瓦胎,靈堂內(nèi)的尸體忽然破棺而出芬萍,到底是詐尸還是另有隱情,我是刑警寧澤搔啊,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布柬祠,位于F島的核電站,受9級(jí)特大地震影響负芋,放射性物質(zhì)發(fā)生泄漏漫蛔。R本人自食惡果不足惜嗜愈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望莽龟。 院中可真熱鬧蠕嫁,春花似錦、人聲如沸毯盈。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)搂赋。三九已至赘阀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間脑奠,已是汗流浹背基公。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留宋欺,地道東北人轰豆。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像齿诞,于是被迫代替她去往敵國(guó)和親酸休。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345