从零开始学Python
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 什么是Python

Python已经具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。Python的语法非常简洁和清晰,与其他计算机程序设计语言最大的不同在于,它采用缩进来定义语句块。Python简洁的语法和对动态输入的支持,再加上它解释性语言的本质,使得它在大多数平台上的很多领域中都是一个理想的脚本语言,特别适合快速应用程序的开发。

Python支持命令式编程、函数式编程、面向切面编程、泛型编程等多种编程范式。与Scheme、Ruby、Perl、Tcl等动态语言一样,Python具备垃圾自动回收功能,能够自动管理内存。Python经常被当作脚本语言用于处理系统管理任务和Web编程,当然它也非常适合完成各种高级任务。Python虚拟机几乎可以在所有的操作系统中运行,使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器执行的可运行程序。Python的主要发行版本是CPython,它是一个由社区驱动的自由软件,目前由Python软件基金会管理。基于Python语言的相关技术正在飞速发展,用户数量增长迅速。

Python语言起源于1989年,当时CWI(阿姆斯特丹国家数学和计算机科学研究所)的研究员Guido van Rossum需要一种高级脚本编程语言,他从高级数学语言ABC(ALL BASIC CODE)中汲取了大量语法,并从系统编程语言Modula-3中借鉴了错误处理机制。他把这种新的语言命名为Python,他希望这个新的叫作Python的语言能符合他的理想:创造一种介于C和shell之间,功能全面,易学易用,可拓展的语言。

1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了类、函数、异常处理、包含表和词典在内的核心数据类型,以及以模块为基础的拓展系统。

1994年1月,Python 1.0正式发布。2000年10月16日,Python 2.0发布,实现了完整的垃圾回收功能,并且支持Unicode。与此同时,Python的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢形成。Python 2.0最大的变化可能不是代码,而是开发方式。2004年11月30日,Python 2.4发布,它是Python 2.X的经典实用版本。2005年,Python中流行的开发框架Django发布。

2008年10月,Python 2.6发布,它增加了许多兼容Python 3的语法,和随后发布的Python 2.7成为Python 2.X的过渡版本。

2008年12月3日,Python 3.0发布,此版本不完全兼容之前的Python代码,不过很多新特性后来也被移植到旧的Python 2.6/2.7版本中,因为目前还有公司在项目和运维中使用Python 2.X版本的代码。

2010年7月,Python 2.7发布。同年,Python中流行的Flask框架发布,一经发布,它便以简单、自定义的特性迅速蹿红。现在已与Django并驾齐驱成为Python语言中最受欢迎的两大Web框架。

2019年1月,Python 3.7.2发布,这是截至本书写作时3.X分支的最新版本。

温馨提示:Python版本号规则

Python的版本号分为三段,形如A.B.C。其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(如修复了某个Bug),只要有修改就增加C。

Python从一开始就特别在意可拓展性。Python可以在多个层次上拓展。在高层,你可以直接引入.py文件;在底层,你可以引用C语言的库。Python程序员可以快速地使用Python写.py文件作为拓展模块,但当性能是重要因素时,Python程序员可以深入底层写C程序,编译为.so文件并引入到Python中使用。Python就好像是使用钢结构建房一样,先规定好大的框架,而程序员可以在此框架下相当自由地进行拓展或更改。