好家伙,这个问题还是被人拿进去探讨了。
我第一次接触的 Python 的时候,发现代码块之间居然是用缩进来辨别的,一时间还难以适应。
不过写了几十行代码后很快就适应了,还感觉用缩进有那么点独特性
因为强制缩进的话,代码写完后人造地就是排版好的。不须要刻意做格式化解决。我记得刚开始写 python 代码用的是 vim。
用的 vim 的都是晓得,学习曲线十分陡,想打造出一个 IDE,须要花很多精力。而用来写 python 就很适宜了,写完之后,代码十分工整。
P 被问到为什么要强制缩进时,Python 之父,Guido van Rossum 过后是这么说的:
这种强制缩进,并不是什么新概念。当年我在 CWI 应用 ABC 语言编程的时候,人家就这么干的。我从 ABC 语言中继承了这个概念。不过 occam 这种很古老的语言也是用了这种形式,我不晓得他们是谁先采纳的,兴许都是独创。这种思维也可能出自 Don Knuth(高德纳,驰名计算机科学家,经典巨著《计算机程序设计艺术》的作者),他早在 1974 年就提出过这种做法。
Python 继承自 ABC 语言,至于 ABC 为啥要采纳缩进的形式来分隔代码块。集体感觉并不是什么口味问题,而是出于过后的时代起因。
Python 诞生于 1989 年,ABC 就更早了。那时候也没有什么 IDE,Python 的设计指标是一门简洁易用具备可读性的语言,而用强制缩进,的确能够让代码的可读性更高。当然,强制用缩进也少了左花括号到底要不要换行的争执。
如果放在明天,按我集体的口味来的话,我更偏向于{}来辨别代码块。毕竟当初的计算机性能曾经今非昔比。IDE 的智能化曾经很很好的解决代码格局问题了。
反而用空格我得小心翼翼惟恐多敲了一个空格,空格与 tab 的混用也使得在不同运行环境中出问题,这个问题对初学者来说尤为显著。
强制缩进与{}两者的优劣谁也争不出个输赢,纯正就是集体口味问题。把更多工夫用来怎么除去代码的“坏滋味”才是闲事