「大数据」(一百零八)Python概述-Python简介

【导读:数据是二十一世纪的石油,蕴含巨大价值,这是·情报通·大数据技术系列第[108]篇文章,欢迎阅读收藏】

1 基本概念

Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言,属于应用层软件。自从 20 世纪 90 年代初 Python 语言诞生至今,它逐渐被广泛应用于处理系统管理任务、自动化运维、图像处理游戏和 Web 网站开发等领域。 Python 已经成为最受欢迎的程序设计语言之一。

「大数据」(一百零八)Python概述-Python简介

由于 Python 语言的简洁、易读以及可扩展性,在国外用 Python 做科学计算的研究机构日益增多,一些知名大学已经采用 Python 教授程序设计课程。例如麻省理工学院的计算机科学及编程导论课程就使用 Python 语言讲授。众多开源的科学计算软件包都提供了 Python 的调用接口,例如著名的计算机视觉库 OpenCV 、三维可视化库 VTK 、医学图像处理库 ITK 。而 Python 专用的科学计算扩展库就更多了,例如如下 3 个十分经典的科学计算扩展库: NumPy 、 SciPy 、 matploylib ,它们分别为 Python 提供了快速数值处理、数值运算以及绘图功能。因此 Python 语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。

「大数据」(一百零八)Python概述-Python简介

2 术语解释

2.1 Python 解析器

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

2.2 Python 解析器的分类

1 、 CPython

当我们从 官方网站 下载并安装好 Python 3.x 后,我们就直接获得了一个官方版本的解释器: CPython 。这个解释器是用 C 语言开发的,所以叫 CPython 。在命令行下运行 python 就是启动 CPython 解释器。

2 、 IPython

IPython 是基于 CPython 之上的一个交互式解释器,也就是说, IPython 只是在交互方式上有所增强,但是执行 Python 代码的功能和 CPython 是完全一样的。好比很多国产浏器虽然外观不同,但内核其实都是调用了 IE 。 CPython 用 >>> 作为提示符,而 IPython 用 In [ 序号 ]: 作为提示符。

3 、 PyPy

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

绝大部分 Python 代码都可以在 PyPy 下运行,但是 PyPy 和 CPython 有一些是不同的,这就导致相同的 Python 代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到 PyPy 下执行,就需要了解 PyPy 和 CPython 的不同点。

4 、 Jython

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

5 、 IronPython

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

3 详细说明

3.1 Python 的历史

Python 的创始人为 Guido van Rossum 。 1989 年圣诞节期间,在阿姆斯特丹, Guido 为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为 ABC 语言的一种继承。之所以选中 Python (大蟒蛇的意思)作为程序的名字,是因为他是一个 Monty Python 的飞行马戏团的爱好者。

ABC 是由 Guido 参加设计的一种教学语言。就 Guido 本人看来, ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是 ABC 语言并没有成功,究其原因, Guido 认为是由其非开放性使用原则所造成的。 Guido 决心在 Python 中避免这一错误(的确如此, Python 与其他的如 C , C++ 和 Java 结合的非常好)。同时,他还想实现在 ABC 中闪现过但未曾实现的东西。就这样, Python 就在 Guido 手中诞生了。实际上, Python 首先是在 Mac 机上实现的。可以说, Python 是从 ABC 发展起来,主要受到了 Modula-3 (另一种相当优美且强大的语言,为小型团体所设计)的影响。并且结合了 Unix shell 和 C 的习惯。成为一门为众多 UNIX 和 Linux 开发者所青睐的开发语言。

3.2 Python 语言特色

可扩充性可以说是 Python 能作为一种编程语言的一大特色。扩展的新的模块( module )可以用 C 或 C++ 写成。而我们也可为线程的模块加上 Python 的接口。 Python 可以使用户避免过分的语法的羁绊而将精力主要集中到所要实现的程序任务(逻辑)上。

Python 也被称为是一门清晰的语言。因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。

Python 语言是一种清晰的语言的另一个意思是,它的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如 if 语句的下一行不向右缩进)都不能通过编译。这样有意的强制程序员养成良好的编程习惯。其中很重要的一项就是 Python 的缩进规则。


分享到:


相關文章: