好家伙,这个问题已经提出来讨论了。刚接触Python的时候,发现代码块其实是通过缩进来区分的,一时难以适应。不过,写了几十行代码后,很快就适应了。我也觉得使用缩进有点独特,因为如果强制缩进,代码写完自然会排版。不需要格式化。记得刚开始写python代码的时候,用的是vim。使用vim的人都知道,学习曲线非常陡峭,搭建一个IDE需要付出很大的努力。很适合写python。写完之后,代码很工整。当P被问及为什么缩进是强制性的时,Python之父GuidovanRossum当时说:这种强制性缩进并不是一个新概念。当我在CWI使用ABC语言编程时,他们就是这么做的。我从ABC语言继承了这个概念。不过occam这种很古老的语言也是用的这种方法。不知道是谁最先采用的,也许都是原创吧。这个想法也可能来自DonKnuth(高德纳,著名计算机科学家,经典《计算机程序设计艺术》的作者),他早在1974年就提出了这种方法。Python继承自ABC语言。至于为什么ABC用缩进来分隔代码块。个人觉得不是口味的问题,而是因为当时的时代。Python诞生于1989年,ABC更早。那时候还没有IDE。Python的设计目标是一种简洁、易用和可读的语言,强制缩进确实可以使代码更具可读性。当然,强制使用缩进也消除了左花括号是否应该换行的争论。如果放在今天,根据我个人的口味,我更喜欢用{}来区分代码块。毕竟电脑的性能今非昔比了。IDE的智能很好地处理了代码格式。相反,我在使用空格时必须小心,以免输入额外的空格。混用空格和制表符也会导致在不同的操作环境下出现问题。这个问题对于初学者来说尤为明显。强制缩进和{}的优缺点并无定论,纯属个人喜好问题。花更多时间在如何去除代码的“难闻气味”上才是正事
