什么?你还不知道Python是啥?再不学习你就out了

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

1 基本概念

Python 在编程领域的占有率一直处于稳步上升之中,根据最新的数据, Python 排名第七。前六名分别是 Java , C , VB , C++ , PHP 和 Perl 。随着微软将 Python 纳入 .Net 平台,相信 Python 的将来会更加强劲的发展。 Python 很可能会成为 .Net 平台快速开发的主流语言。

著名的搜索引擎 Google 也大量使用 Python 。更加令人吃惊的是,在 Nokia 智能手机所采用的 Symbian 操作系统上, Python 同样也可以运行在 Android 手机操作系统上,有很多 Python 爱好者通过 Android 平台来学习 Python 语言,相信 Python 将成为继 C++ , Java 之后的第三个编程语言。可见 Python 的影响力之巨大。

什么?你还不知道Python是啥?再不学习你就out了

通常认为, Python 是一种解释型的语言,但是这种说法是不正确的,实际上 Python 在执行时,首先会讲 .py 文件中的源代码编译成 Python 的 byte code (字节码),然后再由 Python Virtual Machine 来执行这些编译好的 byte code 。这种机制的基本思想跟 Java , .Net 是一致的。然而, Python Virtual Machine 与 Java 或 .Net 的 Virtual Machine 不同的是, Python 的 Virtual Machine 是一种更高级的 Virtual Machine 。这里的高级并不是通常意义上的高级,不是说 Python 的 Virtual Machine 比 Java 或 .Net 的功能更强大,而是说和 Java 或 .Net 相比, Python 的 Virtual Machine 举例真实机器的距离更远。或者可以这么说, Python 的 Virtual Machine 是一种抽象层次更高的 Virtual Machine 。

2 术语解释

Jython : Java 版本的 Python 。

.Net : Microsoft XML Web services 平台。 XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。

什么?你还不知道Python是啥?再不学习你就out了

3 Python 的应用领域

Python 不仅仅是一个设计优秀的语言,它能够完成现实中的各种任务,包括开发者们日复一日所做的事情。作为编制其他建、实现独立程序的工具,它通常应用于各种领域。实际上,作为一种通用语言, Python 的应用角色几乎是无限制的:你可以在任何场合应用 Python ,从网站和游戏开发到机器人和航天飞机控制。

3.1 系统编程

Python 对操作系统服务的内置接口,使其成为编写可移植的维护操作系统的管理工具和部件(有时也被成为 Shell 工具)的理想工具。 Python 程序可以搜索文件和目录树,可以运行其他程序,用进程或县城进行并行处理等等。

Python 的标准库绑定了 POSIX 以及其他常规操作系统系统( OS )的工具:环境变量、文件、套接字、管道、进程、多线程、正则表达式模式匹配、命令行参数、标准流接口、 Shell 命令启动器、文件名扩展等。此外很多 Python 的系统工具设计时都考虑了其可移植性。例如,复制目录树的脚本无需做任何修改就可以在几乎所有的 Python 平台上运行。

3.2 用户图形接口

Python 的简洁以及快速的开发周期十分适合开发 GUI 程序。 Python 内置了 TKinter 的标准面向对象接口 Tk GUI API ,使 Python 程序可以生成可移植的本地观感的 GUI 应用程序。 Python/Tkinter GUI 不做任何改变就可以运行在微软 Windows 、 X Windows ( UNIX 和 Linux )以及 Mac OS 等平台上,一个免费的扩展包 PMW ,为 Tkinter 工具包增加了一些高级部件。此外,基于 C++ 平台的工具包 wxPython GUI API 可以使用 Python 构建可移植的 GUI 应用程序。

诸如 PythonCard 和 Dabo 等一些高级工具包均是构建在 wxPython 和 Tkinter 的基础 API 之上的。对于运行于浏览器中的应用程序, Jython ( Java 版本的 Python )和 Python 服务器断的 GUI 脚本提供了其他一些用户界面的选择。

3.3 数据库编程

对于传统的数据库需求, Python 提供了对所有主流关系数据库的接口,例如, Sybase 、 Oracle 、 Informix 、 ODBC 、 MySQL 、 SQLite 等常用的数据库 Python 均有相应的接口函数库访问这些数据库。 Python 定义了一种通过 Python 脚本存取 SQL 数据库系统的且可移植的数据库 API 接口函数,这个 API 对于各种底层应用的数据库系统都是廷议的。例如,因为厂商的接口实现为可移植的 API ,所以一个写给自由软件 MySQL 数据库访问应用脚本在很大程度上不需要改变就可以工作在其他数据库系统上,仅仅需要将底层的厂商接口替换掉就可以实现。

3.4 数值计算和科学计算编程

Python 数值编程方面的扩展包 NumPy 包括很多高级工具,例如矩阵对象、标准数学库的接口等。通过 NumPy 将 Python 编程一个缜密严谨并简单易用的数值计算工具,其他一些数值计算工具为 Python 提供了动画、 3D 可视化、并行处理等功能的支持。

3.5 游戏、图像、人工智能等

Python 可以利用 pygame 系统进行图像图形处理和游戏编程,用 PIL 和其他的一些工具进行图像处理,用 PyRo 工具包进行机器人控制编程,用 xml 库、 xmlrpclib 模块和其他一些第三方扩展进行 XML 解析,使用神经网络仿真器和专业的系统 shell 进行 AI 编程,使用 NLTK 包进行自然语言分析,甚至可以使用 PySol 程序下棋娱乐等等。

3.6 组件集成

Python 可以通过 C/C++ 系统进行扩展,并能够嵌套 C/C++ 系统的特性,使其能够作为一种灵活的粘合语言,脚本化处理其他系统和组件的行为。例如,将一个 C 库集成到 Python 中,能够利用 Python 进行测试并调用库中的其他组件,将 Python 嵌入到产品中,在不需要重新编译整个产品或分发源代码的情况下,能够进行产品的单独定制。

3.7 Internet 脚本

Python 提供了标准 Internet 模块,使 Python 能够广泛地在多种网络任务中发挥作用,无论是在服务器端还是在客户端都是如此。脚本可以通过套接字进行通信,从发给服务器断的 CGI 脚本的表单中解析信息,通过 URL 获取网页,从获取的网页中解析 HTML 和 XML 文件,通过 XML-RPC 、 SOAP 和 Telnet 通信等。 Python 的库使这一切变得相当简单。


分享到:


相關文章: