“本文简要介绍python语言的历史及生态。”
01 Python历史
说起Python的历史,就得介绍一个人,他叫 吉多·范罗苏姆(Guido van Rossum),荷兰人,Python的创造者,被python社区叫做 仁慈独裁者。
Python诞生于ABC语言,但ABC被van Rossum工作的荷兰CWI研究所终止,当时van Rossum也在研究叫Amoeba分布式操作系统。
在研究Amoeba过程中,需要一个高级的脚本语言,于是van Rossum创建了Python。
Python的第一个解释器,诞生在1991年,它是用C语言实现的,并能够调用C语言的库文件。
之所以选中Python(蟒蛇)作为程序的名字,是因为他是BBC电视剧-**-蒙提*派森的飞行马戏团(Monty Python’s Flying Circus)**的爱好者。
在1999年,吉多*范罗苏姆向DARPA提交了一条名为”Computer Programming For Everybody”的资金申请,并在后来说明了他对Python的目标:
-
一门简单直观的语言并与主要竞争者一样强大
-
开源,以便任何人都可以为它做贡献
-
代码像纯英语那样容易理解
-
适用于短期开发的日常任务
这些目标在Python中得到体现,使得Python有了成为一门流行语言的潜力。(当然,现在Python已经流行开来)
Python的发展可以在从大事件时间轴来体现:
-
1980 年 —— 吉多・范罗苏姆开始构思 Python 的想法;
-
1989 年 —— Python 已经有了雏形;
-
1991 年二月 —— Python 的代码对外公布,此时版本为 0.9.0;
-
1994 年一月 —— Python 1.0 正式发布;
-
2000 年 —— Python 2.0 发布;
-
2001 年 —— Python 2.1 基于 Python 软件基金会协议(Python Software Foundation (PSF))发布;
-
2008 年 12 月 —— Python 3.0 正式发布,Python 3 被称为 "Python 3000" 或者 "Py3K" 。
-
至本文编写时,Python以经发行至3.9.1
Python版本的发行过程,还有一件小插曲,就是Python2版本不兼容Python3版本,也就意味着,使用Python2编写的程序,不能直接在Python3上面运行使用。对于这个问题,官方在Python3提供了一款工具,2to3.py,使得版本迁移变得简单了一些。
而Python2版本也已经在2020 年1月1日停止维护。
新手可以直接从Python3学起。
02 生态
什么是生态?生态指的是,Python可以从事的领域,或者简单一点说,Python可以做的事情。
Python可以做那些事情?很多,非常多,大致列举一下:
-
web开发
-
数据科学
-
人工智能
-
自动化开发
-
嵌入式开发
-
桌面应用开发
-
爬虫应用
-
等等.....
而在web、数据科学、人工智能、自动化这几个领域中,又有很多细分的方向。
所以Python能做的真的很多,但我们要知道,能做不代表能做得好,目前Python主要应用于人工智能、数据科学、自动化、爬虫、及web这几个领域。
还是很强,哈哈。
提前打个预防针,Python简单是指,入门简单。但想要熟练掌握Python,还是要下功夫的。
最后,附上Python开发者都要知道的一段准则:
Python之禅 by Tim Peters
优美胜于丑陋(Python 以编写优美的代码为目标)
明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
可读性很重要(优美的代码是可读的)
即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)
当存在多种可能,不要尝试去猜测而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )
做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)
Python语言介绍到此结束,希望能让你有所收获。
喜欢的话,请随意,分享,收藏,关注,点赞,看一看,都是对原创作者的支持。