随聊——Python的前世今生

时间:2021-09-08 00:07:30

  1989年圣诞节前夕,山雨欲来风满楼,计算机程序设计语言界隐隐有大事要发生,果然不出所料。江湖人称龟叔(Guido von Rossum),就是这位祖籍荷兰的大能,在圣诞节百无聊赖的期间,发明了Python。自此,Python一发不可收拾,备受业界人士喜爱,迅速占领各大行业、公司、企业,成功登顶语言类排行榜。

  至此,Python已然成为人人争抢修炼的一本秘籍。这与龟叔的设计初衷理念是分不开的。早期,电脑内存的限制,效率低下,程序语言执行过程繁琐,并且语言适应方向单一,运维脚本与程序开发不能兼具高效率开发。就是在这种迫切需要一种语言,能够解决上述窘境、全面调用计算机的功能接口的Python语言应运而生。可以说python的出生是一种必然。

  Python语言的诞生,是在关键的时刻解决至关重要的难题,而不是要与其他语言一较高下,一决雌雄的。Python有着自己独特的领域,能做其他所不能做,完成其他所不能完成,你说想到的只是Python的附加项,没错,就是你现在想到的。所以说Python的特点是‘优雅’、‘明确’、‘简洁’。

  Python这个名字的由来,由于龟叔喜爱一部电视剧‘Monty Python’s Flying Circus’,很独特很任性是吗,龟叔:What can you do for me?Python是由C语言写出来的,因为Python最初的理念就是创造一种与C和Shell之间的功能全面的,易学易用,可拓展性很强的语言。所以说Python是一种大方得体,平易近人的。

  简单来讲,对比一下:C语言的执行方式是编译为机器码、执行速度疾如雷电、代码量盈千累万;Java语言的执行方式是编译为字节码、执行速度快马加鞭、代码量车载斗量;Python语言的执行方式是解释执行、执行速度风度翩翩、而代码量则是言简意赅的,用《道德经》里面的一句话来讲就是‘少而精,简而远’。执行的速度快很重要对吗?是的,但是在大多数的程序应用中是需要数据传输的,所以说执行的速度再快,数据传输跟不上也是一样的。没听过吗,再厉害的跑车在四环路上也只能跑20而已。

  Python的发展趋势和实际应用场景,已经不需要说了是吗,看几条新闻,看几条招聘,有什么比现实更现实的,我们能做也只能是为了追赶现实而努力。

最后,Python的“转世”过程是潇洒的,在2版本发展使用的过程中,Python3横空出世,被称为Py3K。所以说Python在版本过渡的过程中也是由坎坷的,到目前为止2版本中最成熟的是2.7版本,但官方只支持到2020年。这也就说明python3已经很成熟,大可以放心选择、使用、版本替换了。

安装过程简单,不过是在熟练的情况下简单。如果首次还是按照百度百科或者在大人的看管下安装使用。

Python也有自己的明信片,可以查看Python之禅(The Zen of Python, by Tim Peters),通过在交互式Shell中import this查看。

>>> import this

The Zen of Python, by Tim Peters

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse is better than dense.

Readability counts.

Special cases aren't special enough to break the rules.

Although practicality beats purity.

Errors should never pass silently.

Unless explicitly silenced.

In the face of ambiguity, refuse the temptation to guess.

There should be one-- and preferably only one --obvious way to do it.

Although that way may not be obvious at first unless you're Dutch.

Now is better than never.

Although never is often better than *right* now.

If the implementation is hard to explain, it's a bad idea.

If the implementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea -- let's do more of those!

译文:

Python之禅

优美胜于丑陋

明了胜于晦涩

简洁胜于复杂

复杂胜于凌乱

扁平胜于嵌套

间隔胜于紧凑

可读性很重要

即便假借特例的实用性之名,也不可违背这些规则

不要包容所有错误,除非你确定需要这样做

当存在多种可能,不要尝试去猜测

而是尽量找一种,最好是唯一一种明显的解决方案

虽然这并不容易,因为你不是 Python 之父

做也许好过不做,但不假思索就动手还不如不做

如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然

命名空间是一种绝妙的理念,我们应当多加利用