1.1 什么是Python

1.1.1 Python是什么

Python的创始人是吉多·范·罗苏姆(Guido van Rossum)。1989年圣诞节期间,为了打发在阿姆斯特丹的时间,吉多·范·罗苏姆决心开发一种新的脚本解释器,作为ABC语言的一种继承。

Python被称为简单而功能强大的编程语言之一。它颠覆了传统编程的难度,让“小白”也可以做编程。你会惊喜地发现Python语言有多简单,它关注的是如何解决问题,而不是编程语言的语法和结构。它具有高层次的数据结构,对于面向对象的编程来说,简单有效。Python简洁的语法和对动态输入的支持,加上解释语言的特性,使得它在大多数平台上的许多领域,特别是对于快速应用程序开发来说,都是一种理想的开发语言。

Python可以应用于数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等许多领域。目前,行业内几乎所有大中型互联网公司都在使用Python,如Youtube、Dropbox、BT、Quora、豆瓣、知乎、谷歌、雅虎、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司一般用Python来做自动化运维、自动化测试、大数据分析、爬虫、Web等工作。市场对Python开发人员的需求呈爆炸式增长趋势。Python+人工智能人才短缺高达80万人,在2017年用人单位发布的职位描述中,Python的技能需求增长达到174%,排名第一。

1.1.2 Python的种类

当我们编写Python代码时,得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。

由于整个Python语言从规范到解释器都是开源的,理论上,只要编程水平足够高,任何人都可以编写Python解释器来执行Python代码。事实上,确实有多个Python解释器,每个解释器都有不同的功能,但是可以正常运行Python代码。以下是5种常用的Python解释器。

1.CPython

从Python官网下载并安装Python 3.7后,可直接获得一个官方版本的解释器—CPython,该解释器是用C语言开发的,所以叫CPython。在命令行下运行Python即可启动CPython解释器,CPython解释器是使用最广泛的Python解释器。

2.IPython

IPython是一种基于CPython的交互式解释器,也就是说,IPython只是在交互的方式上进行了增强,执行Python代码的功能和CPython完全相同。好比国内很多浏览器的外观虽然不一样,但是其内核其实都是调用IE的一样。

3.PyPy

PyPy是一个以执行速度为目标的Python解释器。PyPy采用JIT技术对Python代码进行动态编译,可以显著提高Python代码的执行速度。

4.Jython

Jython是运行在Java平台上的Python解释器,可以直接将Python代码编译成Java字节码执行。

5.IronPython

IronPython类似于Jython,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

在Python的解释器中,CPython得到了广泛的应用。对于Python编译来说,除了使用上面的解释器进行编译之外,技术高超的开发人员还可以根据自己的需要编写Python解释器来执行Python代码,非常方便。

1.1.3 Python的特色

1.简单

Python是一种代表简单思想的语言。读一个好的Python程序感觉就像读英语文章一样,虽然这个程序对语言的要求非常严格。Python的这种伪代码特性是它最大的优势之一。它使开发者能够专注于解决问题,而不是理解语言本身。

2.开源、免费

Python是FLOSS(自由/升级源码软件)之一,简而言之,开发者可以自由发布软件副本,阅读其源代码,对其进行更改,并将生成的新的软件放入FLOSS,不存在知识产权纠纷。FLOSS是基于一个团体共享的概念,这是Python如此优秀的原因之一。它是由一群希望看到更好Python的人创建并经常改进的。

3.高级语言

用Python编写程序时,不需要考虑如何管理程序使用的内存等底层细节,使用起来极其方便,掌握起来也非常容易。

4.便携性

由于Python的开源特性,它已经被移植到许多平台上(为了使它能够在不同的平台上工作而改变)。如果注意避免使用系统相关的功能,所有Python程序都可以在以下任何平台上运行,而无须修改。

这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AS/400、BeOS、OS/390、z/OS、Palm OS QNX、VMS、Psion、Acom设置、OS设置、Play Station、Sharp Zaurus、Windows CE,甚至PocketPC。

5.面向对象

Python支持面向过程的编程和面向对象的编程。在面向过程的语言中,程序是由一个过程或一个只是可重用代码的函数构建的。在面向对象的语言中,程序是由数据和功能组合的对象构建的。与C++和Java等其他主要语言相比,Python以非常强大和简单的方式实现了面向对象的编程。

6.丰富的库

Python具有强大的标准库,它可以帮助用户完成各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、Web浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、GUI(图形用户界面)、tk等系统相关操作。只要安装了Python,所有这些功能都是可用的。这就是Python的“功能齐全”概念。

除了标准库以外,Python还有许多其他高质量的库,如wxPython、Twisted和Python图像库等。

总之,Python是一种很棒的、功能强大的语言。它将高性能与使编写程序变得简单有趣的功能合理地结合在一起,形成它独有的特色。