《Java编程思想 (Thinking in Java)》 的作者Bruce Eckel给予了Python高度评价,他说:Life is short, you need Python。很多人初识Python,是因为这句话。
成功的背后,是一个坚定的选择
生命如此美好,但是太过短暂。要想在有限时间内,最高效的做出成绩,选择比努力要更重要。如何选择一门编程语言,是个争论不休的永久话题。但是,有一个问题的答案是明确的,使用人数和增长率,是衡量是否成功的重要标准。吉多·范罗苏姆是Python的设计者和创造者,他的这一产品能得到全世界那么多程序员的喜爱和选择,是因为作对了什么呢?
失败是成功之母
吉多在创造Python之前,参与设计了ABC这一种教学语言。ABC非常的优美和强大,但最终没有获得成功。吉多在总结失败原因的时候发现,ABC不够开放,普适性比较差,使用的人数得不到快速扩增,这样就不会产出足够的影响力,以致难以让更多的人加入进来。
表面是三点,其实只有一个源起点
有三点特征,成就了Python。第一,简洁性;第二,易读性;第三,可扩展性。因为简洁,所以更易学习。Python没有花哨的语法,更多是明确的、没有或很少有歧义的语法。直接,而且有效。易读性强,也很重要。10%的时间用来写,90%的时间是在读。易读,就会有更多的人愿意读,并且借鉴去用。接下来,自然会有丰富的扩展库聚集在Python的周边,独乐乐,不如众乐乐。
归根结底,如果要把三点总结为一点的话,一切的缘起,应该就是简洁。另外的两个特征,是由简洁所派生的。
举个栗子
构造对象,Python寥寥数行就能搞定。列表、字典解析等语言机制为简洁提供了工具。强制缩进等硬性约束和语法要求,让Python代码的风格高度一致。
比如,我编写一个可以把字符串反转过来的函数。
想实现:
输入:“writing the code, changing the world”
输出:“dlrow eht gnignahc ,edoc eht gnitirw”
可以这样:
class Solution:
def reverseString(self, s):
"""
:type s: str
:rtype: str
"""
return s[::-1]
更直接些,可以这样
str = 'writing the code, changing the world'
print(str[::-1])