Python 语言算得上一门“古老”的编程语言,Python 流行这么久,必然有它的独到之处,本节我们简单介绍 Python 的相关情况。
Python 简史
Python 由 Guido van Rossum 于 1989 年年底出于某种娱乐目的而开发, Python 语言是基于 ABC 教学语言的,而 ABC 这种语言非常强大,是专门为非专业程序员设计的。但 ABC 语言并没有获得广泛的应用, Guido 认为是非开放造成的。
Python 的“出身”部分影响了它的流行,Python 上手非常简单,它的语法非常像自然语言,对非软件专业人士而言,选择 Python 的成本最低,因此某些医学甚至艺术专业背景的人,往往会选择 Python 作为编程语言。
Guido 在 Python 中避免了 ABC 不够开放的劣势,Guido 加强了 Python 和其他语言如 C、C++ 和 Java 的结合性。此外,Python 还实现了许多 ABC 中未曾实现的东西,这些因素大大提高了 Python 的流行程度。
2008 年 12 月,Python 发布了 3.0 版本(也常常被称为 Python 3000,或简称 Py3k)。Python 3.0 是一次重大的升级,为了避免引入历史包袱,Python 3.0 没有考虑与 Python 2.x 的兼容。这样导致很长时间以来,Python 2.x 的用户不愿意升级到 Python 3.0,这种割裂一度影响了 Python 的应用。
毕竟大势不可抵挡,开发者逐渐发现 Python 3.x 更简洁、更方便。现在,绝大部分开发者已经从 Python 2.x 转移到 Python 3.x,但有些早期的 Python 程序可能依然使用了 Python 2.x 语法。
2009 年 6 月,Python 发布了 3.1 版本。
2011 年 2 月,Python 发布了 3.2 版本。
2012 年 9 月,Python 发布了 3.3 版本。
2014 年 3 月,Python 发布了 3.4 版本。
2015 年 9 月,Python 发布了 3.5 版本。
2016 年 12 月,Python 发布了 3.6 版本。
……
本教程将以 Python 3.x 来介绍 Python 编程,也会简单对比 Python2.x 与 Python 3.x 的语法差异。
目前,由于大数据、人工智能(AI)的流行,Python 变得比以往更加流行。在最新的 TIOBE 编程语言排行榜上, Python 己经迅速上升到第 4 位,仅次于 Java、C、C++。
Java 占据了世界上绝大部分电商、全融、通信等服务端应用开发,而 C、C++ 占据了世界上绝大部分贴近操作系统的硬件编程,这三门语言的地位太难动摇了。
Python 的特点
Python 是一种面向对象、解释型、弱类型的脚本语言,它也是一种功能强大而完善的通用型语言。
相比其他编程语言(比如 Java),Python 代码非常简单,上手非常容易。比如我们要完成某个功能,如果用 Java 需要 100 行代码,但用 Python 可能只需要 20 行代码,这是 Python 具有巨大吸引力的一大特点。
Python 的两大特色是清晰的语法和可扩展性:
- Python 的语法非常清晰,它甚至不是一种格式自由的语言。例如,它要求 if 语句的下一行必须向右缩进,否则不能通过编译。
- Python 的可扩展性体现为它的模块,Python 具有脚本语言中最丰富和强大的类库(这些类库被形象地称为“batteries included ,内置电池”),这些类库覆盖了文件 I/O、GUI、网络编程、数据库访问、文本操作等绝大部分应用场景。
此外,Python 的社区也很发达,即使一些小众的应用场景,Python 往往也有对应的开源模块来提供解决方案。
Python 作为一门解释型的语言,它天生具有跨平台的特征,只要为平台提供了相应的 Python 解释器,Python 就可以在该平台上运行。
解释型语言几乎天然是跨平台的。
Python 自然也具有解释型语言的一些弱点:
- 速度慢:Python 程序比 Java、C、C++ 等程序的运行效率都要慢。
- 源代码加密困难:不像编译型语言的源程序会被编译成目标程序,Python 直接运行源程序,因此对源代码加密比较困难。
上面两个问题其实不是什么大问题,关于第一个问题,由于目前计算机的硬件速度越来越快,软件工程往往更关注开发过程的效率和可靠性,而不是软件的运行效率;至于第二个问题,则更不是问题了,现在软件行业的大势本来就是开源,就像 Java 程序同样很容易反编译,但丝毫不会影响它的流行。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/22268.html